power_supply: add scope properties to some self-powered HID devices
authorJeremy Fitzhardinge <jeremy@goop.org>
Wed, 7 Dec 2011 19:29:46 +0000 (11:29 -0800)
committerJeremy Fitzhardinge <jeremy@goop.org>
Fri, 9 Dec 2011 17:53:42 +0000 (09:53 -0800)
The Wacom and Wiimote HID drivers register power supplies for themselves
to indicate their battery levels.  Make those power supplies device scope.

Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-wacom.c
drivers/hid/hid-wiimote.c

index 17bb88f..ad39777 100644 (file)
@@ -47,12 +47,14 @@ static unsigned short batcap[8] = { 1, 15, 25, 35, 50, 70, 100, 0 };
 
 static enum power_supply_property wacom_battery_props[] = {
        POWER_SUPPLY_PROP_PRESENT,
-       POWER_SUPPLY_PROP_CAPACITY
+       POWER_SUPPLY_PROP_CAPACITY,
+       POWER_SUPPLY_PROP_SCOPE,
 };
 
 static enum power_supply_property wacom_ac_props[] = {
        POWER_SUPPLY_PROP_PRESENT,
-       POWER_SUPPLY_PROP_ONLINE
+       POWER_SUPPLY_PROP_ONLINE,
+       POWER_SUPPLY_PROP_SCOPE,
 };
 
 static int wacom_battery_get_property(struct power_supply *psy,
@@ -68,6 +70,9 @@ static int wacom_battery_get_property(struct power_supply *psy,
        case POWER_SUPPLY_PROP_PRESENT:
                val->intval = 1;
                break;
+       case POWER_SUPPLY_PROP_SCOPE:
+               val->intval = POWER_SUPPLY_SCOPE_DEVICE;
+               break;
        case POWER_SUPPLY_PROP_CAPACITY:
                /* show 100% battery capacity when charging */
                if (power_state == 0)
@@ -99,6 +104,9 @@ static int wacom_ac_get_property(struct power_supply *psy,
                else
                        val->intval = 0;
                break;
+       case POWER_SUPPLY_PROP_SCOPE:
+               val->intval = POWER_SUPPLY_SCOPE_DEVICE;
+               break;
        default:
                ret = -EINVAL;
                break;
index 76739c0..98e4828 100644 (file)
@@ -136,7 +136,8 @@ static __u16 wiiproto_keymap[] = {
 };
 
 static enum power_supply_property wiimote_battery_props[] = {
-       POWER_SUPPLY_PROP_CAPACITY
+       POWER_SUPPLY_PROP_CAPACITY,
+       POWER_SUPPLY_PROP_SCOPE,
 };
 
 /* requires the state.lock spinlock to be held */
@@ -468,6 +469,11 @@ static int wiimote_battery_get_property(struct power_supply *psy,
        int ret = 0, state;
        unsigned long flags;
 
+       if (psp == POWER_SUPPLY_PROP_SCOPE) {
+               val->intval = POWER_SUPPLY_SCOPE_DEVICE;
+               return 0;
+       }
+
        ret = wiimote_cmd_acquire(wdata);
        if (ret)
                return ret;