[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240925100303.9112-3-alex.vinarskis@gmail.com>
Date: Wed, 25 Sep 2024 12:02:00 +0200
From: Aleksandrs Vinarskis <alex.vinarskis@...il.com>
To: Jiri Kosina <jikos@...nel.org>,
linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Benjamin Tissoires <bentiss@...nel.org>,
Aleksandrs Vinarskis <alex.vinarskis@...il.com>
Subject: [PATCH v1 2/2] HID: i2c-hid: introduce qtec vendor, enable re-power-on quirk
This solves keyboard not working until suspend&resume issue on Dell XPS
9345 13" (codenamed 'tributo').
Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@...il.com>
---
drivers/hid/hid-ids.h | 2 ++
drivers/hid/i2c-hid/i2c-hid-core.c | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 72d56ee7ce1b..a99b5a138128 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1091,6 +1091,8 @@
#define USB_VENDOR_ID_PRODIGE 0x05af
#define USB_DEVICE_ID_PRODIGE_CORDLESS 0x3062
+#define I2C_VENDOR_ID_QTEC 0x6243
+
#define USB_VENDOR_ID_QUANTA 0x0408
#define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH 0x3000
#define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001 0x3001
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 087ca2474176..1e4f478cf878 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -134,6 +134,11 @@ static const struct i2c_hid_quirks {
I2C_HID_QUIRK_BAD_INPUT_SIZE },
{ I2C_VENDOR_ID_CIRQUE, I2C_PRODUCT_ID_CIRQUE_1063,
I2C_HID_QUIRK_NO_SLEEP_ON_SUSPEND },
+ /*
+ * Without additional power on command, at least some QTEC devices send garbage
+ */
+ { I2C_VENDOR_ID_QTEC, HID_ANY_ID,
+ I2C_HID_QUIRK_RE_POWER_ON },
/*
* Sending the wakeup after reset actually break ELAN touchscreen controller
*/
--
2.43.0
Powered by blists - more mailing lists