hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/hid/hid-multitouch.c
....@@ -1541,7 +1541,6 @@
15411541 static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi)
15421542 {
15431543 struct mt_device *td = hid_get_drvdata(hdev);
1544
- char *name;
15451544 const char *suffix = NULL;
15461545 struct mt_report_data *rdata;
15471546 struct mt_application *mt_application = NULL;
....@@ -1595,15 +1594,9 @@
15951594 break;
15961595 }
15971596
1598
- if (suffix) {
1599
- name = devm_kzalloc(&hi->input->dev,
1600
- strlen(hdev->name) + strlen(suffix) + 2,
1601
- GFP_KERNEL);
1602
- if (name) {
1603
- sprintf(name, "%s %s", hdev->name, suffix);
1604
- hi->input->name = name;
1605
- }
1606
- }
1597
+ if (suffix)
1598
+ hi->input->name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
1599
+ "%s %s", hdev->name, suffix);
16071600
16081601 return 0;
16091602 }
....@@ -1912,6 +1905,10 @@
19121905 HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
19131906 USB_VENDOR_ID_ELAN, 0x313a) },
19141907
1908
+ { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
1909
+ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
1910
+ USB_VENDOR_ID_ELAN, 0x3148) },
1911
+
19151912 /* Elitegroup panel */
19161913 { .driver_data = MT_CLS_SERIAL,
19171914 MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP,