[PATCH] HID: Ignore battery for Elan touchscreen on Asus TP420IA

From: marco . rodolfi
Date: Tue Jan 10 2023 - 10:03:56 EST



This device has a touchscreen thats report a battery even if it doesn't
have one.
Ask Linux to ignore the battery so it will not always report it as low.

Signed-off-by: Marco Rodolfi <marco.rodolfi@xxxxxxx>
---
drivers/hid/hid-ids.h   | 1 +
drivers/hid/hid-input.c | 2 ++
2 files changed, 3 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 8f58c3c1bec3..0f525b946cd1 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -413,6 +413,7 @@
#define I2C_DEVICE_ID_HP_ENVY_X360_15  0x2d05
#define I2C_DEVICE_ID_HP_ENVY_X360_15T_DR100   0x29CF
#define I2C_DEVICE_ID_HP_SPECTRE_X360_15       0x2817
+#define I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN 0x2BC8
#define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN 0x2544
#define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN   0x2706
#define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN   0x261A
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 859aeb07542e..54e2d4066d9b 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -369,6 +369,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH,
               USB_DEVICE_ID_LOGITECH_DINOVO_EDGE_KBD),
         HID_BATTERY_QUIRK_IGNORE },
+       { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN)
,
+         HID_BATTERY_QUIRK_IGNORE },
       { HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),
         HID_BATTERY_QUIRK_IGNORE },
       { HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN)
,
--  
2.39.0