Commit 2b954417 authored by Jiri Kosina's avatar Jiri Kosina Committed by Wen Zhiwei
Browse files

Revert "HID: multitouch: Add support for lenovo Y9000P Touchpad"

stable inclusion
from stable-v6.6.75
commit 854d0d361e451a6b5f7bde2b86d634a8b6f80f3e
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBSPQB

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=854d0d361e451a6b5f7bde2b86d634a8b6f80f3e



--------------------------------

commit 3d88ba86ba6f35a0467f25a88c38aa5639190d04 upstream.

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: default avatarUlrich Müller <ulm@gentoo.org>
Reported-by: default avatarWangYuli <wangyuli@uniontech.com>
Link: https://lore.kernel.org/all/uikt4wwpw@gentoo.org/


Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent 4c81fd0d
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -506,7 +506,6 @@
#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
+2 −6
Original line number Diff line number Diff line
@@ -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(
@@ -2073,10 +2072,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,