linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] HID: hid-input: add Surface Go battery quirk
@ 2021-06-03 18:58 Zoltan Tamas Vajda
  2021-06-14 13:37 ` Jiri Kosina
  0 siblings, 1 reply; 4+ messages in thread
From: Zoltan Tamas Vajda @ 2021-06-03 18:58 UTC (permalink / raw)
  To: jikos, benjamin.tissoires; +Cc: linux-input, linux-kernel, Zoltan Tamas Vajda

The Elantech touchscreen/digitizer in the Surface Go mistakenly reports
having a battery. This results in a low battery message every time you
try to use the pen.

This patch adds a quirk to ignore the non-existent battery and
gets rid of the false low battery messages.

Signed-off-by: Zoltan Tamas Vajda <zoltan.tamas.vajda@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 b84a0a11e05b..63ca5959dc67 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -396,6 +396,7 @@
 #define USB_DEVICE_ID_HP_X2_10_COVER	0x0755
 #define I2C_DEVICE_ID_HP_SPECTRE_X360_15	0x2817
 #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN	0x2706
+#define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN	0x261A
 
 #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 abbfa91e73e4..3e39aeafca91 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -326,6 +326,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
 	  HID_BATTERY_QUIRK_IGNORE },
 	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_15),
 	  HID_BATTERY_QUIRK_IGNORE },
+	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN),
+	  HID_BATTERY_QUIRK_IGNORE },
 	{}
 };
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] HID: hid-input: add Surface Go battery quirk
  2021-06-03 18:58 [PATCH] HID: hid-input: add Surface Go battery quirk Zoltan Tamas Vajda
@ 2021-06-14 13:37 ` Jiri Kosina
  0 siblings, 0 replies; 4+ messages in thread
From: Jiri Kosina @ 2021-06-14 13:37 UTC (permalink / raw)
  To: Zoltan Tamas Vajda; +Cc: benjamin.tissoires, linux-input, linux-kernel

On Thu, 3 Jun 2021, Zoltan Tamas Vajda wrote:

> The Elantech touchscreen/digitizer in the Surface Go mistakenly reports
> having a battery. This results in a low battery message every time you
> try to use the pen.
> 
> This patch adds a quirk to ignore the non-existent battery and
> gets rid of the false low battery messages.
> 
> Signed-off-by: Zoltan Tamas Vajda <zoltan.tamas.vajda@gmail.com>

Applied, thanks.

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] HID: hid-input: add Surface Go battery quirk
  2022-05-25 23:08 Maximilian Luz
@ 2022-06-08 11:07 ` Jiri Kosina
  0 siblings, 0 replies; 4+ messages in thread
From: Jiri Kosina @ 2022-06-08 11:07 UTC (permalink / raw)
  To: Maximilian Luz; +Cc: Benjamin Tissoires, linux-input, linux-kernel, stable

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.

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] HID: hid-input: add Surface Go battery quirk
@ 2022-05-25 23:08 Maximilian Luz
  2022-06-08 11:07 ` Jiri Kosina
  0 siblings, 1 reply; 4+ messages in thread
From: Maximilian Luz @ 2022-05-25 23:08 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Maximilian Luz, Benjamin Tissoires, linux-input, linux-kernel, stable

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 },
 	{}
 };
 
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-08 11:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 18:58 [PATCH] HID: hid-input: add Surface Go battery quirk Zoltan Tamas Vajda
2021-06-14 13:37 ` Jiri Kosina
2022-05-25 23:08 Maximilian Luz
2022-06-08 11:07 ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).