mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-14 06:35:12 +00:00
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: Jeremy Fitzhardinge <jeremy@goop.org> Cc: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
8351665195
commit
73db88137b
2 changed files with 17 additions and 3 deletions
|
@ -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,
|
||||||
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,
|
||||||
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[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
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,
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue