diff mbox series

HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630

Message ID 20190326165554.17266-1-jeffrey.l.hugo@gmail.com (mailing list archive)
State Mainlined
Commit 2bafa1e9625400bec4c840a168d70ba52607a58d
Delegated to: Jiri Kosina
Headers show
Series HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630 | expand

Commit Message

Jeffrey Hugo March 26, 2019, 4:55 p.m. UTC
Similar to commit edfc3722cfef ("HID: quirks: Fix keyboard + touchpad on
Toshiba Click Mini not working"), the Lenovo Miix 630 has a combo
keyboard/touchpad device with vid:pid of 04F3:0400, which is shared with
Elan touchpads.  The combo on the Miix 630 has an ACPI id of QTEC0001,
which is not claimed by the elan_i2c driver, so key on that similar to
what was done for the Toshiba Click Mini.

Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
---
 drivers/hid/hid-quirks.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Jiri Kosina March 27, 2019, 1:17 p.m. UTC | #1
On Tue, 26 Mar 2019, Jeffrey Hugo wrote:

> Similar to commit edfc3722cfef ("HID: quirks: Fix keyboard + touchpad on
> Toshiba Click Mini not working"), the Lenovo Miix 630 has a combo
> keyboard/touchpad device with vid:pid of 04F3:0400, which is shared with
> Elan touchpads.  The combo on the Miix 630 has an ACPI id of QTEC0001,
> which is not claimed by the elan_i2c driver, so key on that similar to
> what was done for the Toshiba Click Mini.

Applied to for-5.1/upstream-fixes, thanks.
diff mbox series

Patch

diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 1148d8c0816a..77ffba48cc73 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -715,7 +715,6 @@  static const struct hid_device_id hid_ignore_list[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DEALEXTREAME, USB_DEVICE_ID_DEALEXTREAME_RADIO_SI4701) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EARTHMATE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EM_LT20) },
-	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, 0x0400) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC5UH) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC4UM) },
@@ -996,6 +995,10 @@  bool hid_ignore(struct hid_device *hdev)
 		if (hdev->product == 0x0401 &&
 		    strncmp(hdev->name, "ELAN0800", 8) != 0)
 			return true;
+		/* Same with product id 0x0400 */
+		if (hdev->product == 0x0400 &&
+		    strncmp(hdev->name, "QTEC0001", 8) != 0)
+			return true;
 		break;
 	}