diff mbox series

HID: hid-input: add Lenov Yoga C630 battery quirk

Message ID 20220819023924.3272-1-steev@kali.org (mailing list archive)
State Mainlined
Commit 3a47fa7b14c7d9613909a844aba27f99d3c58634
Delegated to: Jiri Kosina
Headers show
Series HID: hid-input: add Lenov Yoga C630 battery quirk | expand

Commit Message

Steev Klimaszewski Aug. 19, 2022, 2:39 a.m. UTC
Similar to the Surface Go devices, the Elantech touchscreen/digitizer in
the Lenovo Yoga C630 mistakenly reports the battery of the stylus, and
always reports an empty battery.

Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and
prevent the erroneous low battery warnings.

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
 drivers/hid/hid-ids.h   | 1 +
 drivers/hid/hid-input.c | 2 ++
 2 files changed, 3 insertions(+)

Comments

Jiri Kosina Aug. 25, 2022, 9:45 a.m. UTC | #1
On Thu, 18 Aug 2022, Steev Klimaszewski wrote:

> Similar to the Surface Go devices, the Elantech touchscreen/digitizer in
> the Lenovo Yoga C630 mistakenly reports the battery of the stylus, and
> always reports an empty battery.
> 
> Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and
> prevent the erroneous low battery warnings.

I've fixed the typo in patch subject and applied, thanks.
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 0fb720a96399..347d783da82c 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -414,6 +414,7 @@ 
 #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN	0x2706
 #define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN	0x261A
 #define I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN	0x2A1C
+#define I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN	0x279F
 
 #define USB_VENDOR_ID_ELECOM		0x056e
 #define USB_DEVICE_ID_ELECOM_BM084	0x0061
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 48c1c02c69f4..17a453bb09a2 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -383,6 +383,8 @@  static const struct hid_device_id hid_battery_quirks[] = {
 	  HID_BATTERY_QUIRK_IGNORE },
 	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN),
 	  HID_BATTERY_QUIRK_IGNORE },
+	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN),
+	  HID_BATTERY_QUIRK_IGNORE },
 	{}
 };