Skip to content

Commit 921fffa

Browse files
niyaringregkh
authored andcommitted
HID: lenovo: Add support for ThinkPad X1 Tablet Thin Keyboard Gen2
[ Upstream commit a890523 ] 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 e46cf29 commit 921fffa

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
@@ -814,6 +814,7 @@
814814
#define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067
815815
#define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085
816816
#define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
817+
#define USB_DEVICE_ID_LENOVO_X1_TAB2 0x60a4
817818
#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
818819
#define USB_DEVICE_ID_LENOVO_X12_TAB 0x60fe
819820
#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)
@@ -781,6 +783,7 @@ static int lenovo_event(struct hid_device *hdev, struct hid_field *field,
781783
return lenovo_event_cptkbd(hdev, field, usage, value);
782784
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
783785
case USB_DEVICE_ID_LENOVO_X1_TAB:
786+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
784787
case USB_DEVICE_ID_LENOVO_X1_TAB3:
785788
return lenovo_event_tp10ubkbd(hdev, field, usage, value);
786789
default:
@@ -1062,6 +1065,7 @@ static int lenovo_led_brightness_set(struct led_classdev *led_cdev,
10621065
break;
10631066
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
10641067
case USB_DEVICE_ID_LENOVO_X1_TAB:
1068+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
10651069
case USB_DEVICE_ID_LENOVO_X1_TAB3:
10661070
ret = lenovo_led_set_tp10ubkbd(hdev, tp10ubkbd_led[led_nr], value);
10671071
break;
@@ -1293,6 +1297,7 @@ static int lenovo_probe(struct hid_device *hdev,
12931297
break;
12941298
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
12951299
case USB_DEVICE_ID_LENOVO_X1_TAB:
1300+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
12961301
case USB_DEVICE_ID_LENOVO_X1_TAB3:
12971302
ret = lenovo_probe_tp10ubkbd(hdev);
12981303
break;
@@ -1380,6 +1385,7 @@ static void lenovo_remove(struct hid_device *hdev)
13801385
break;
13811386
case USB_DEVICE_ID_LENOVO_TP10UBKBD:
13821387
case USB_DEVICE_ID_LENOVO_X1_TAB:
1388+
case USB_DEVICE_ID_LENOVO_X1_TAB2:
13831389
case USB_DEVICE_ID_LENOVO_X1_TAB3:
13841390
lenovo_remove_tp10ubkbd(hdev);
13851391
break;
@@ -1430,6 +1436,8 @@ static const struct hid_device_id lenovo_devices[] = {
14301436
*/
14311437
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
14321438
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB) },
1439+
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
1440+
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB2) },
14331441
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
14341442
USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_TAB3) },
14351443
{ }

drivers/hid/hid-multitouch.c

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

2119-
/* Lenovo X1 TAB Gen 2 */
2119+
/* Lenovo X1 TAB Gen 1 */
21202120
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
21212121
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
21222122
USB_VENDOR_ID_LENOVO,
21232123
USB_DEVICE_ID_LENOVO_X1_TAB) },
21242124

2125+
/* Lenovo X1 TAB Gen 2 */
2126+
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
2127+
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
2128+
USB_VENDOR_ID_LENOVO,
2129+
USB_DEVICE_ID_LENOVO_X1_TAB2) },
2130+
21252131
/* Lenovo X1 TAB Gen 3 */
21262132
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
21272133
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,

0 commit comments

Comments
 (0)