Commit 73db8813 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge

power_supply: add scope properties to some self-powered HID devices

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: default avatarJeremy Fitzhardinge <jeremy@goop.org>
Cc: Jiri Kosina <jkosina@suse.cz>
parent 83516651
...@@ -47,12 +47,14 @@ static unsigned short batcap[8] = { 1, 15, 25, 35, 50, 70, 100, 0 }; ...@@ -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[] = { static enum power_supply_property wacom_battery_props[] = {
POWER_SUPPLY_PROP_PRESENT, POWER_SUPPLY_PROP_PRESENT,
POWER_SUPPLY_PROP_CAPACITY POWER_SUPPLY_PROP_CAPACITY,
POWER_SUPPLY_PROP_SCOPE,
}; };
static enum power_supply_property wacom_ac_props[] = { static enum power_supply_property wacom_ac_props[] = {
POWER_SUPPLY_PROP_PRESENT, 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, static int wacom_battery_get_property(struct power_supply *psy,
...@@ -68,6 +70,9 @@ 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: case POWER_SUPPLY_PROP_PRESENT:
val->intval = 1; val->intval = 1;
break; break;
case POWER_SUPPLY_PROP_SCOPE:
val->intval = POWER_SUPPLY_SCOPE_DEVICE;
break;
case POWER_SUPPLY_PROP_CAPACITY: case POWER_SUPPLY_PROP_CAPACITY:
/* show 100% battery capacity when charging */ /* show 100% battery capacity when charging */
if (power_state == 0) if (power_state == 0)
...@@ -99,6 +104,9 @@ static int wacom_ac_get_property(struct power_supply *psy, ...@@ -99,6 +104,9 @@ static int wacom_ac_get_property(struct power_supply *psy,
else else
val->intval = 0; val->intval = 0;
break; break;
case POWER_SUPPLY_PROP_SCOPE:
val->intval = POWER_SUPPLY_SCOPE_DEVICE;
break;
default: default:
ret = -EINVAL; ret = -EINVAL;
break; break;
......
...@@ -136,7 +136,8 @@ static __u16 wiiproto_keymap[] = { ...@@ -136,7 +136,8 @@ static __u16 wiiproto_keymap[] = {
}; };
static enum power_supply_property wiimote_battery_props[] = { 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 */ /* requires the state.lock spinlock to be held */
...@@ -468,6 +469,11 @@ static int wiimote_battery_get_property(struct power_supply *psy, ...@@ -468,6 +469,11 @@ static int wiimote_battery_get_property(struct power_supply *psy,
int ret = 0, state; int ret = 0, state;
unsigned long flags; unsigned long flags;
if (psp == POWER_SUPPLY_PROP_SCOPE) {
val->intval = POWER_SUPPLY_SCOPE_DEVICE;
return 0;
}
ret = wiimote_cmd_acquire(wdata); ret = wiimote_cmd_acquire(wdata);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment