Message ID | 20220525230827.1019662-1-luzmaximilian@gmail.com |
---|---|
State | Accepted |
Commit | db925d809011c37b246434fdce71209fc2e6c0c2 |
Headers | show |
Series | HID: hid-input: add Surface Go battery quirk | expand |
On Thu, 26 May 2022, Maximilian Luz wrote: > Similar to the Surface Go (1), the (Elantech) touchscreen/digitizer in > the Surface Go 2 mistakenly reports the battery of the stylus. Instead > of over the touchscreen device, battery information is provided via > bluetooth and the touchscreen device reports an empty battery. > > Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and > prevent the erroneous low battery warnings. > > Cc: stable@vger.kernel.org > Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com> > --- > 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 d9eb676abe96..9c4e92a9c646 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -413,6 +413,7 @@ > #define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN 0x2544 > #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 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 c6b27aab9041..48c1c02c69f4 100644 > --- a/drivers/hid/hid-input.c > +++ b/drivers/hid/hid-input.c > @@ -381,6 +381,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_GO_TOUCHSCREEN), > HID_BATTERY_QUIRK_IGNORE }, > + { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN), > + HID_BATTERY_QUIRK_IGNORE }, Applied, thanks.
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index d9eb676abe96..9c4e92a9c646 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -413,6 +413,7 @@ #define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN 0x2544 #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 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 c6b27aab9041..48c1c02c69f4 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -381,6 +381,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_GO_TOUCHSCREEN), HID_BATTERY_QUIRK_IGNORE }, + { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN), + HID_BATTERY_QUIRK_IGNORE }, {} };
Similar to the Surface Go (1), the (Elantech) touchscreen/digitizer in the Surface Go 2 mistakenly reports the battery of the stylus. Instead of over the touchscreen device, battery information is provided via bluetooth and the touchscreen device reports an empty battery. Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and prevent the erroneous low battery warnings. Cc: stable@vger.kernel.org Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com> --- drivers/hid/hid-ids.h | 1 + drivers/hid/hid-input.c | 2 ++ 2 files changed, 3 insertions(+)