]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:49:55 +0000 (12:49 +0100)
[ Upstream commit 251efae73bd46b097deec4f9986d926813aed744 ]

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>
Stable-dep-of: 8ade5e05bd09 ("HID: multitouch: fix support for Goodix PID 0x01e9")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-ids.h
drivers/hid/hid-multitouch.c

index 81db294dda4081d0b4ca6c04d6b2e94eda0fbfb4..291f8d3a3dd3702e6fdee0aaec6832239d4b85fc 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 57e4ff1ab275d238af446a5bbea744c578d15bfa..196ed532baa5d53c753e061d439f3cad8dac5c6f 100644 (file)
@@ -1447,7 +1447,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(
@@ -2070,7 +2071,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,