diff options
| author | Jeremy Fitzhardinge <jeremy@goop.org> | 2011-12-07 14:29:46 -0500 |
|---|---|---|
| committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2011-12-09 12:53:42 -0500 |
| commit | 73db88137bc732d01b615af9a9cdb24f3e47e78d (patch) | |
| tree | 091725a7bc56962b6bd080aa165c646c91be32ac | |
| parent | 8351665195cec6d2b73cce8b66f02d6dde246a8e (diff) | |
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>
| -rw-r--r-- | drivers/hid/hid-wacom.c | 12 | ||||
| -rw-r--r-- | drivers/hid/hid-wiimote.c | 8 |
2 files changed, 17 insertions, 3 deletions
diff --git a/drivers/hid/hid-wacom.c b/drivers/hid/hid-wacom.c index 17bb88f782b6..ad39777d1111 100644 --- a/drivers/hid/hid-wacom.c +++ b/drivers/hid/hid-wacom.c | |||
| @@ -47,12 +47,14 @@ static unsigned short batcap[8] = { 1, 15, 25, 35, 50, 70, 100, 0 }; | |||
| 47 | 47 | ||
| 48 | static enum power_supply_property wacom_battery_props[] = { | 48 | static enum power_supply_property wacom_battery_props[] = { |
| 49 | POWER_SUPPLY_PROP_PRESENT, | 49 | POWER_SUPPLY_PROP_PRESENT, |
| 50 | POWER_SUPPLY_PROP_CAPACITY | 50 | POWER_SUPPLY_PROP_CAPACITY, |
| 51 | POWER_SUPPLY_PROP_SCOPE, | ||
| 51 | }; | 52 | }; |
| 52 | 53 | ||
| 53 | static enum power_supply_property wacom_ac_props[] = { | 54 | static enum power_supply_property wacom_ac_props[] = { |
| 54 | POWER_SUPPLY_PROP_PRESENT, | 55 | POWER_SUPPLY_PROP_PRESENT, |
| 55 | POWER_SUPPLY_PROP_ONLINE | 56 | POWER_SUPPLY_PROP_ONLINE, |
| 57 | POWER_SUPPLY_PROP_SCOPE, | ||
| 56 | }; | 58 | }; |
| 57 | 59 | ||
| 58 | static int wacom_battery_get_property(struct power_supply *psy, | 60 | 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 | case POWER_SUPPLY_PROP_PRESENT: | 70 | case POWER_SUPPLY_PROP_PRESENT: |
| 69 | val->intval = 1; | 71 | val->intval = 1; |
| 70 | break; | 72 | break; |
| 73 | case POWER_SUPPLY_PROP_SCOPE: | ||
| 74 | val->intval = POWER_SUPPLY_SCOPE_DEVICE; | ||
| 75 | break; | ||
| 71 | case POWER_SUPPLY_PROP_CAPACITY: | 76 | case POWER_SUPPLY_PROP_CAPACITY: |
| 72 | /* show 100% battery capacity when charging */ | 77 | /* show 100% battery capacity when charging */ |
| 73 | if (power_state == 0) | 78 | if (power_state == 0) |
| @@ -99,6 +104,9 @@ static int wacom_ac_get_property(struct power_supply *psy, | |||
| 99 | else | 104 | else |
| 100 | val->intval = 0; | 105 | val->intval = 0; |
| 101 | break; | 106 | break; |
| 107 | case POWER_SUPPLY_PROP_SCOPE: | ||
| 108 | val->intval = POWER_SUPPLY_SCOPE_DEVICE; | ||
| 109 | break; | ||
| 102 | default: | 110 | default: |
| 103 | ret = -EINVAL; | 111 | ret = -EINVAL; |
| 104 | break; | 112 | break; |
diff --git a/drivers/hid/hid-wiimote.c b/drivers/hid/hid-wiimote.c index 76739c07fa3c..98e48281c0b2 100644 --- a/drivers/hid/hid-wiimote.c +++ b/drivers/hid/hid-wiimote.c | |||
| @@ -136,7 +136,8 @@ static __u16 wiiproto_keymap[] = { | |||
| 136 | }; | 136 | }; |
| 137 | 137 | ||
| 138 | static enum power_supply_property wiimote_battery_props[] = { | 138 | static enum power_supply_property wiimote_battery_props[] = { |
| 139 | POWER_SUPPLY_PROP_CAPACITY | 139 | POWER_SUPPLY_PROP_CAPACITY, |
| 140 | POWER_SUPPLY_PROP_SCOPE, | ||
| 140 | }; | 141 | }; |
| 141 | 142 | ||
| 142 | /* requires the state.lock spinlock to be held */ | 143 | /* requires the state.lock spinlock to be held */ |
| @@ -468,6 +469,11 @@ static int wiimote_battery_get_property(struct power_supply *psy, | |||
| 468 | int ret = 0, state; | 469 | int ret = 0, state; |
| 469 | unsigned long flags; | 470 | unsigned long flags; |
| 470 | 471 | ||
| 472 | if (psp == POWER_SUPPLY_PROP_SCOPE) { | ||
| 473 | val->intval = POWER_SUPPLY_SCOPE_DEVICE; | ||
| 474 | return 0; | ||
| 475 | } | ||
| 476 | |||
| 471 | ret = wiimote_cmd_acquire(wdata); | 477 | ret = wiimote_cmd_acquire(wdata); |
| 472 | if (ret) | 478 | if (ret) |
| 473 | return ret; | 479 | return ret; |
