aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2011-12-07 14:29:46 -0500
committerJeremy Fitzhardinge <jeremy@goop.org>2011-12-09 12:53:42 -0500
commit73db88137bc732d01b615af9a9cdb24f3e47e78d (patch)
tree091725a7bc56962b6bd080aa165c646c91be32ac /drivers/hid
parent8351665195cec6d2b73cce8b66f02d6dde246a8e (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>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-wacom.c12
-rw-r--r--drivers/hid/hid-wiimote.c8
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
48static enum power_supply_property wacom_battery_props[] = { 48static 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
53static enum power_supply_property wacom_ac_props[] = { 54static 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
58static int wacom_battery_get_property(struct power_supply *psy, 60static 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
138static enum power_supply_property wiimote_battery_props[] = { 138static 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;