From 5dd4729dc16a35d53a6a13b3bc55fa9c0cd1b7d4 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Sun, 13 Aug 2023 07:01:42 -0500 Subject: [PATCH] HID: i2c-hid: Add a quirk for Goodix 0x0d42 The Goodix touchpad in a Dell Inspiron 5515 fails to work properly after resuming from suspend to RAM: 1. It lags 2. Multitouch gestures don't work. Resetting it after suspend/resume fixes the issue. Reported-by: neupanebishal2001@gmail.com Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217761 Signed-off-by: Mario Limonciello --- drivers/hid/hid-ids.h | 1 + drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 8a310f8ff20f5..7750f3131fd03 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -515,6 +515,7 @@ #define I2C_VENDOR_ID_GOODIX 0x27c6 #define I2C_DEVICE_ID_GOODIX_01F0 0x01f0 +#define I2C_DEVICE_ID_GOODIX_0D42 0x0d42 #define USB_VENDOR_ID_GOODTOUCH 0x1aad #define USB_DEVICE_ID_GOODTOUCH_000f 0x000f diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c index efbba0465eef1..b80b5eafa656d 100644 --- a/drivers/hid/i2c-hid/i2c-hid-core.c +++ b/drivers/hid/i2c-hid/i2c-hid-core.c @@ -126,6 +126,8 @@ static const struct i2c_hid_quirks { I2C_HID_QUIRK_RESET_ON_RESUME }, { I2C_VENDOR_ID_SYNAPTICS, I2C_PRODUCT_ID_SYNAPTICS_SYNA2393, I2C_HID_QUIRK_RESET_ON_RESUME }, + { I2C_VENDOR_ID_GOODIX, I2C_DEVICE_ID_GOODIX_0D42, + I2C_HID_QUIRK_RESET_ON_RESUME }, { USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720, I2C_HID_QUIRK_BAD_INPUT_SIZE }, /* -- 2.34.1