]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/5.0.14/hid-quirks-fix-keyboard-touchpad-on-lenovo-miix-630.patch
Linux 5.0.14
[thirdparty/kernel/stable-queue.git] / releases / 5.0.14 / hid-quirks-fix-keyboard-touchpad-on-lenovo-miix-630.patch
1 From d34146c712d98427a5e057b5d8bd4ace0d28be79 Mon Sep 17 00:00:00 2001
2 From: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
3 Date: Tue, 26 Mar 2019 09:55:54 -0700
4 Subject: HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630
5
6 [ Upstream commit 2bafa1e9625400bec4c840a168d70ba52607a58d ]
7
8 Similar to commit edfc3722cfef ("HID: quirks: Fix keyboard + touchpad on
9 Toshiba Click Mini not working"), the Lenovo Miix 630 has a combo
10 keyboard/touchpad device with vid:pid of 04F3:0400, which is shared with
11 Elan touchpads. The combo on the Miix 630 has an ACPI id of QTEC0001,
12 which is not claimed by the elan_i2c driver, so key on that similar to
13 what was done for the Toshiba Click Mini.
14
15 Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
16 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
17 Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
18 ---
19 drivers/hid/hid-quirks.c | 5 ++++-
20 1 file changed, 4 insertions(+), 1 deletion(-)
21
22 diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
23 index 94088c0ed68a..e24790c988c0 100644
24 --- a/drivers/hid/hid-quirks.c
25 +++ b/drivers/hid/hid-quirks.c
26 @@ -744,7 +744,6 @@ static const struct hid_device_id hid_ignore_list[] = {
27 { HID_USB_DEVICE(USB_VENDOR_ID_DEALEXTREAME, USB_DEVICE_ID_DEALEXTREAME_RADIO_SI4701) },
28 { HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EARTHMATE) },
29 { HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EM_LT20) },
30 - { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, 0x0400) },
31 { HID_USB_DEVICE(USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5) },
32 { HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC5UH) },
33 { HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC4UM) },
34 @@ -1025,6 +1024,10 @@ bool hid_ignore(struct hid_device *hdev)
35 if (hdev->product == 0x0401 &&
36 strncmp(hdev->name, "ELAN0800", 8) != 0)
37 return true;
38 + /* Same with product id 0x0400 */
39 + if (hdev->product == 0x0400 &&
40 + strncmp(hdev->name, "QTEC0001", 8) != 0)
41 + return true;
42 break;
43 }
44
45 --
46 2.20.1
47