Skip to content

Commit 6956f3c

Browse files
niyaringregkh
authored andcommitted
HID: lenovo: Add support for ThinkPad X1 Tablet Thin Keyboard Gen2
[ Upstream commit a8905238c3bbe13db90065ed74682418f23830c3 ] Add "Thinkpad X1 Tablet Gen 2 Keyboard" PID to hid-lenovo driver to fix trackpoint not working issue. Signed-off-by: Akira Inoue <[email protected]> Signed-off-by: Jiri Kosina <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent ae16609 commit 6956f3c

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

drivers/hid/hid-ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,7 @@
790790
#define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067
791791
#define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085
792792
#define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
793+
#define USB_DEVICE_ID_LENOVO_X1_TAB2 0x60a4
793794
#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
794795
#define USB_DEVICE_ID_LENOVO_X12_TAB 0x60fe
795796
#define USB_DEVICE_ID_LENOVO_X12_TAB2 0x61ae

drivers/hid/hid-lenovo.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ static int lenovo_input_mapping(struct hid_device *hdev,
473473
return lenovo_input_mapping_tp10_ultrabook_kbd(hdev, hi, field,
474474
usage, bit, max);
475475
case USB_DEVICE_ID_LENOVO_X1_TAB:
476+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
476477
case USB_DEVICE_ID_LENOVO_X1_TAB3:
477478
return lenovo_input_mapping_x1_tab_kbd(hdev, hi, field, usage, bit, max);
478479
default:
@@ -587,6 +588,7 @@ static ssize_t attr_fn_lock_store(struct device *dev,
587588
break;
588589
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
589590
case USB_DEVICE_ID_LENOVO_X1_TAB:
591+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
590592
case USB_DEVICE_ID_LENOVO_X1_TAB3:
591593
ret = lenovo_led_set_tp10ubkbd(hdev, TP10UBKBD_FN_LOCK_LED, value);
592594
if (ret)
@@ -782,6 +784,7 @@ static int lenovo_event(struct hid_device *hdev, struct hid_field *field,
782784
return lenovo_event_cptkbd(hdev, field, usage, value);
783785
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
784786
case USB_DEVICE_ID_LENOVO_X1_TAB:
787+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
785788
case USB_DEVICE_ID_LENOVO_X1_TAB3:
786789
return lenovo_event_tp10ubkbd(hdev, field, usage, value);
787790
default:
@@ -1065,6 +1068,7 @@ static int lenovo_led_brightness_set(struct led_classdev *led_cdev,
10651068
break;
10661069
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
10671070
case USB_DEVICE_ID_LENOVO_X1_TAB:
1071+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
10681072
case USB_DEVICE_ID_LENOVO_X1_TAB3:
10691073
ret = lenovo_led_set_tp10ubkbd(hdev, tp10ubkbd_led[led_nr], value);
10701074
break;
@@ -1296,6 +1300,7 @@ static int lenovo_probe(struct hid_device *hdev,
12961300
break;
12971301
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
12981302
case USB_DEVICE_ID_LENOVO_X1_TAB:
1303+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
12991304
case USB_DEVICE_ID_LENOVO_X1_TAB3:
13001305
ret = lenovo_probe_tp10ubkbd(hdev);
13011306
break;
@@ -1383,6 +1388,7 @@ static void lenovo_remove(struct hid_device *hdev)
13831388
break;
13841389
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
13851390
case USB_DEVICE_ID_LENOVO_X1_TAB:
1391+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
13861392
case USB_DEVICE_ID_LENOVO_X1_TAB3:
13871393
lenovo_remove_tp10ubkbd(hdev);
13881394
break;
@@ -1433,6 +1439,8 @@ static const struct hid_device_id lenovo_devices[] = {
14331439
*/
14341440
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
14351441
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB) },
1442+
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
1443+
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB2) },
14361444
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
14371445
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB3) },
14381446
{ }

drivers/hid/hid-multitouch.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2110,12 +2110,18 @@ static const struct hid_device_id mt_devices[] = {
21102110
HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC,
21112111
USB_VENDOR_ID_LG, I2C_DEVICE_ID_LG_7010) },
21122112

2113-
/* Lenovo X1 TAB Gen 2 */
2113+
/* Lenovo X1 TAB Gen 1 */
21142114
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
21152115
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
21162116
USB_VENDOR_ID_LENOVO,
21172117
USB_DEVICE_ID_LENOVO_X1_TAB) },
21182118

2119+
/* Lenovo X1 TAB Gen 2 */
2120+
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
2121+
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
2122+
USB_VENDOR_ID_LENOVO,
2123+
USB_DEVICE_ID_LENOVO_X1_TAB2) },
2124+
21192125
/* Lenovo X1 TAB Gen 3 */
21202126
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
21212127
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,

0 commit comments

Comments
 (0)