Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

HID: lenovo: Add support for ThinkPad X1 Tablet Thin Keyboard Gen2

Add "Thinkpad X1 Tablet Gen 2 Keyboard" PID to hid-lenovo driver to fix trackpoint not working issue.

Signed-off-by: Akira Inoue <niyarium@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>

authored by

Akira Inoue and committed by
Jiri Kosina
a8905238 4540e41e

+16 -1
+1
drivers/hid/hid-ids.h
··· 821 821 #define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067 822 822 #define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085 823 823 #define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3 824 + #define USB_DEVICE_ID_LENOVO_X1_TAB2 0x60a4 824 825 #define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5 825 826 #define USB_DEVICE_ID_LENOVO_X12_TAB 0x60fe 826 827 #define USB_DEVICE_ID_LENOVO_X12_TAB2 0x61ae
+8
drivers/hid/hid-lenovo.c
··· 492 492 case USB_DEVICE_ID_LENOVO_X12_TAB: 493 493 case USB_DEVICE_ID_LENOVO_X12_TAB2: 494 494 case USB_DEVICE_ID_LENOVO_X1_TAB: 495 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 495 496 case USB_DEVICE_ID_LENOVO_X1_TAB3: 496 497 return lenovo_input_mapping_x1_tab_kbd(hdev, hi, field, usage, bit, max); 497 498 default: ··· 609 608 case USB_DEVICE_ID_LENOVO_X12_TAB2: 610 609 case USB_DEVICE_ID_LENOVO_TP10UBKBD: 611 610 case USB_DEVICE_ID_LENOVO_X1_TAB: 611 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 612 612 case USB_DEVICE_ID_LENOVO_X1_TAB3: 613 613 ret = lenovo_led_set_tp10ubkbd(hdev, TP10UBKBD_FN_LOCK_LED, value); 614 614 if (ret) ··· 866 864 case USB_DEVICE_ID_LENOVO_X12_TAB2: 867 865 case USB_DEVICE_ID_LENOVO_TP10UBKBD: 868 866 case USB_DEVICE_ID_LENOVO_X1_TAB: 867 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 869 868 case USB_DEVICE_ID_LENOVO_X1_TAB3: 870 869 return lenovo_event_tp10ubkbd(hdev, field, usage, value); 871 870 default: ··· 1150 1147 case USB_DEVICE_ID_LENOVO_X12_TAB2: 1151 1148 case USB_DEVICE_ID_LENOVO_TP10UBKBD: 1152 1149 case USB_DEVICE_ID_LENOVO_X1_TAB: 1150 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 1153 1151 case USB_DEVICE_ID_LENOVO_X1_TAB3: 1154 1152 ret = lenovo_led_set_tp10ubkbd(hdev, tp10ubkbd_led[led_nr], value); 1155 1153 break; ··· 1391 1387 case USB_DEVICE_ID_LENOVO_X12_TAB2: 1392 1388 case USB_DEVICE_ID_LENOVO_TP10UBKBD: 1393 1389 case USB_DEVICE_ID_LENOVO_X1_TAB: 1390 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 1394 1391 case USB_DEVICE_ID_LENOVO_X1_TAB3: 1395 1392 ret = lenovo_probe_tp10ubkbd(hdev); 1396 1393 break; ··· 1481 1476 case USB_DEVICE_ID_LENOVO_X12_TAB2: 1482 1477 case USB_DEVICE_ID_LENOVO_TP10UBKBD: 1483 1478 case USB_DEVICE_ID_LENOVO_X1_TAB: 1479 + case USB_DEVICE_ID_LENOVO_X1_TAB2: 1484 1480 case USB_DEVICE_ID_LENOVO_X1_TAB3: 1485 1481 lenovo_remove_tp10ubkbd(hdev); 1486 1482 break; ··· 1532 1526 */ 1533 1527 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 1534 1528 USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB) }, 1529 + { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 1530 + USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB2) }, 1535 1531 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 1536 1532 USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB3) }, 1537 1533 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
+7 -1
drivers/hid/hid-multitouch.c
··· 2132 2132 HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC, 2133 2133 USB_VENDOR_ID_LG, I2C_DEVICE_ID_LG_7010) }, 2134 2134 2135 - /* Lenovo X1 TAB Gen 2 */ 2135 + /* Lenovo X1 TAB Gen 1 */ 2136 2136 { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, 2137 2137 HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, 2138 2138 USB_VENDOR_ID_LENOVO, 2139 2139 USB_DEVICE_ID_LENOVO_X1_TAB) }, 2140 + 2141 + /* Lenovo X1 TAB Gen 2 */ 2142 + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, 2143 + HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, 2144 + USB_VENDOR_ID_LENOVO, 2145 + USB_DEVICE_ID_LENOVO_X1_TAB2) }, 2140 2146 2141 2147 /* Lenovo X1 TAB Gen 3 */ 2142 2148 { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,