diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2017-03-27 17:59:33 +0300 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2017-04-06 15:36:38 +0300 |
commit | 9b9c519f1fe3ec9d2518a99c71c54f5c25eef345 (patch) | |
tree | 60ce5db17f6364e612145a9e9e5ea70f270d6ea8 /drivers/hid | |
parent | a9525b80feb1b6ae40244b16b0558cbdc64f28cd (diff) | |
download | linux-9b9c519f1fe3ec9d2518a99c71c54f5c25eef345.tar.xz |
HID: logitech-hidpp: notify battery on connect
When a device reconnects, there is a high chance its power supply has
been changed (for a battery replacement for instance). Just forward
the battery state here.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/hid-logitech-hidpp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 22129ddac3ae..0781d2bb00d6 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c @@ -2463,6 +2463,13 @@ static void hidpp_connect_event(struct hidpp_device *hidpp) hidpp_initialize_battery(hidpp); + /* forward current battery state */ + if (hidpp->capabilities & HIDPP_CAPABILITY_HIDPP20_BATTERY) { + hidpp20_query_battery_info(hidpp); + if (hidpp->battery.ps) + power_supply_changed(hidpp->battery.ps); + } + if (!(hidpp->quirks & HIDPP_QUIRK_NO_HIDINPUT) || hidpp->delayed_input) /* if the input nodes are already created, we can stop now */ return; |