]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
HID: multitouch: Add support for lenovo Y9000P Touchpad
authorHe Lugang <helugang@uniontech.com>
Tue, 27 Aug 2024 02:56:05 +0000 (10:56 +0800)
committerJiri Kosina <jkosina@suse.com>
Tue, 3 Sep 2024 11:54:10 +0000 (13:54 +0200)
The 2024 Lenovo Y9000P which use GT7868Q chip also needs a fixup.
The information of the chip is as follows:
I2C HID v1.00 Mouse [GXTP5100:00 27C6:01E0]

Signed-off-by: He Lugang <helugang@uniontech.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-ids.h
drivers/hid/hid-multitouch.c

index 781c5aa298598a19bf79b22a0e6af0560053846a..cb804b6306535b98ab80e505797d5c0c503d3b3c 100644 (file)
 #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100
 
 #define I2C_VENDOR_ID_GOODIX           0x27c6
+#define I2C_DEVICE_ID_GOODIX_01E0      0x01e0
 #define I2C_DEVICE_ID_GOODIX_01E8      0x01e8
 #define I2C_DEVICE_ID_GOODIX_01E9      0x01e9
 #define I2C_DEVICE_ID_GOODIX_01F0      0x01f0
index 99812c0f830b5e432a4f443c09726680e63e39bb..0faaa2c23d2e6e090f1b285f8dca800b8486969c 100644 (file)
@@ -1446,7 +1446,8 @@ static __u8 *mt_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 {
        if (hdev->vendor == I2C_VENDOR_ID_GOODIX &&
            (hdev->product == I2C_DEVICE_ID_GOODIX_01E8 ||
-            hdev->product == I2C_DEVICE_ID_GOODIX_01E9)) {
+            hdev->product == I2C_DEVICE_ID_GOODIX_01E9 ||
+                hdev->product == I2C_DEVICE_ID_GOODIX_01E0)) {
                if (rdesc[607] == 0x15) {
                        rdesc[607] = 0x25;
                        dev_info(
@@ -2065,7 +2066,10 @@ static const struct hid_device_id mt_devices[] = {
                     I2C_DEVICE_ID_GOODIX_01E8) },
        { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
          HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
-                    I2C_DEVICE_ID_GOODIX_01E8) },
+                    I2C_DEVICE_ID_GOODIX_01E9) },
+       { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
+         HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
+                    I2C_DEVICE_ID_GOODIX_01E0) },
 
        /* GoodTouch panels */
        { .driver_data = MT_CLS_NSMU,