]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "HID: multitouch: Add support for lenovo Y9000P Touchpad"
authorJiri Kosina <jkosina@suse.com>
Thu, 12 Dec 2024 08:53:10 +0000 (09:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:49:56 +0000 (12:49 +0100)
[ Upstream commit 3d88ba86ba6f35a0467f25a88c38aa5639190d04 ]

This reverts commit 251efae73bd46b097deec4f9986d926813aed744.

Quoting Wang Yuli:

"The 27C6:01E0 touchpad doesn't require the workaround and applying it
would actually break functionality.

The initial report came from a BBS forum, but we suspect the
information provided by the forum user may be incorrect which could
happen sometimes. [1]

Further investigation showed that the Lenovo Y9000P 2024 doesn't even
use a Goodix touchpad. [2]

For the broader issue of 27c6:01e0 being unusable on some devices, it
just need to address it with a libinput quirk.

In conclusion, we should revert this commit, which is the best
solution."

Reported-by: Ulrich Müller <ulm@gentoo.org>
Reported-by: WangYuli <wangyuli@uniontech.com>
Link: https://lore.kernel.org/all/uikt4wwpw@gentoo.org/
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 291f8d3a3dd3702e6fdee0aaec6832239d4b85fc..81db294dda4081d0b4ca6c04d6b2e94eda0fbfb4 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 196ed532baa5d53c753e061d439f3cad8dac5c6f..57e4ff1ab275d238af446a5bbea744c578d15bfa 100644 (file)
@@ -1447,8 +1447,7 @@ 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_01E0)) {
+            hdev->product == I2C_DEVICE_ID_GOODIX_01E9)) {
                if (rdesc[607] == 0x15) {
                        rdesc[607] = 0x25;
                        dev_info(
@@ -2071,10 +2070,7 @@ 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_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) },
+                    I2C_DEVICE_ID_GOODIX_01E8) },
 
        /* GoodTouch panels */
        { .driver_data = MT_CLS_NSMU,