Skip to content

Commit 10a5fd6

Browse files
author
Benjamin Tissoires
committed
Merge branch 'for-6.11/upstream-fixes' into for-linus
Small fixes for drivers/hid: - Add support for 3 multitouch panels (He Lugang, tammy tseng and Vishnu Sankar) - Unused declarations cleanups (Yue Haibing) - Fix comma vs semicolon (Chen Ni)
2 parents 6e44365 + 65b72ea commit 10a5fd6

File tree

6 files changed

+29
-7
lines changed

6 files changed

+29
-7
lines changed

drivers/hid/amd-sfh-hid/amd_sfh_hid.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ struct amdtp_hid_data {
7373
};
7474

7575
/* Interface functions between HID LL driver and AMD SFH client */
76-
void hid_amdtp_set_feature(struct hid_device *hid, char *buf, u32 len, int report_id);
77-
void hid_amdtp_get_report(struct hid_device *hid, int report_id, int report_type);
7876
int amdtp_hid_probe(u32 cur_hid_dev, struct amdtp_cl_data *cli_data);
7977
void amdtp_hid_remove(struct amdtp_cl_data *cli_data);
8078
int amd_sfh_get_report(struct hid_device *hid, int report_id, int report_type);

drivers/hid/hid-ids.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,7 @@
521521
#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100
522522

523523
#define I2C_VENDOR_ID_GOODIX 0x27c6
524+
#define I2C_DEVICE_ID_GOODIX_01E0 0x01e0
524525
#define I2C_DEVICE_ID_GOODIX_01E8 0x01e8
525526
#define I2C_DEVICE_ID_GOODIX_01E9 0x01e9
526527
#define I2C_DEVICE_ID_GOODIX_01F0 0x01f0
@@ -810,6 +811,7 @@
810811
#define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
811812
#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
812813
#define USB_DEVICE_ID_LENOVO_X12_TAB 0x60fe
814+
#define USB_DEVICE_ID_LENOVO_X12_TAB2 0x61ae
813815
#define USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E 0x600e
814816
#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D 0x608d
815817
#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019 0x6019

drivers/hid/hid-multitouch.c

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
212212
#define MT_CLS_GOOGLE 0x0111
213213
#define MT_CLS_RAZER_BLADE_STEALTH 0x0112
214214
#define MT_CLS_SMART_TECH 0x0113
215+
#define MT_CLS_SIS 0x0457
215216

216217
#define MT_DEFAULT_MAXCONTACT 10
217218
#define MT_MAX_MAXCONTACT 250
@@ -396,6 +397,11 @@ static const struct mt_class mt_classes[] = {
396397
MT_QUIRK_CONTACT_CNT_ACCURATE |
397398
MT_QUIRK_SEPARATE_APP_REPORT,
398399
},
400+
{ .name = MT_CLS_SIS,
401+
.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
402+
MT_QUIRK_ALWAYS_VALID |
403+
MT_QUIRK_CONTACT_CNT_ACCURATE,
404+
},
399405
{ }
400406
};
401407

@@ -1446,7 +1452,8 @@ static __u8 *mt_report_fixup(struct hid_device *hdev, __u8 *rdesc,
14461452
{
14471453
if (hdev->vendor == I2C_VENDOR_ID_GOODIX &&
14481454
(hdev->product == I2C_DEVICE_ID_GOODIX_01E8 ||
1449-
hdev->product == I2C_DEVICE_ID_GOODIX_01E9)) {
1455+
hdev->product == I2C_DEVICE_ID_GOODIX_01E9 ||
1456+
hdev->product == I2C_DEVICE_ID_GOODIX_01E0)) {
14501457
if (rdesc[607] == 0x15) {
14511458
rdesc[607] = 0x25;
14521459
dev_info(
@@ -1811,6 +1818,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
18111818
if (mtclass->quirks & MT_QUIRK_FIX_CONST_CONTACT_ID)
18121819
mt_fix_const_fields(hdev, HID_DG_CONTACTID);
18131820

1821+
if (hdev->vendor == USB_VENDOR_ID_SIS_TOUCH)
1822+
hdev->quirks |= HID_QUIRK_NOGET;
1823+
18141824
ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
18151825
if (ret)
18161826
return ret;
@@ -2065,7 +2075,10 @@ static const struct hid_device_id mt_devices[] = {
20652075
I2C_DEVICE_ID_GOODIX_01E8) },
20662076
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
20672077
HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
2068-
I2C_DEVICE_ID_GOODIX_01E8) },
2078+
I2C_DEVICE_ID_GOODIX_01E9) },
2079+
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
2080+
HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
2081+
I2C_DEVICE_ID_GOODIX_01E0) },
20692082

20702083
/* GoodTouch panels */
20712084
{ .driver_data = MT_CLS_NSMU,
@@ -2113,6 +2126,12 @@ static const struct hid_device_id mt_devices[] = {
21132126
USB_VENDOR_ID_LENOVO,
21142127
USB_DEVICE_ID_LENOVO_X12_TAB) },
21152128

2129+
/* Lenovo X12 TAB Gen 2 */
2130+
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
2131+
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
2132+
USB_VENDOR_ID_LENOVO,
2133+
USB_DEVICE_ID_LENOVO_X12_TAB2) },
2134+
21162135
/* Logitech devices */
21172136
{ .driver_data = MT_CLS_NSMU,
21182137
HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH_WIN_8,
@@ -2275,6 +2294,11 @@ static const struct hid_device_id mt_devices[] = {
22752294
HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_GOOGLE,
22762295
USB_DEVICE_ID_GOOGLE_WHISKERS) },
22772296

2297+
/* sis */
2298+
{ .driver_data = MT_CLS_SIS,
2299+
HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_SIS_TOUCH,
2300+
HID_ANY_ID) },
2301+
22782302
/* Generic MT device */
22792303
{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH, HID_ANY_ID, HID_ANY_ID) },
22802304

drivers/hid/hid-sensor-custom.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ static int hid_sensor_custom_dev_if_add(struct hid_sensor_custom *sensor_inst)
732732

733733
sensor_inst->custom_dev.minor = MISC_DYNAMIC_MINOR;
734734
sensor_inst->custom_dev.name = dev_name(&sensor_inst->pdev->dev);
735-
sensor_inst->custom_dev.fops = &hid_sensor_custom_fops,
735+
sensor_inst->custom_dev.fops = &hid_sensor_custom_fops;
736736
ret = misc_register(&sensor_inst->custom_dev);
737737
if (ret) {
738738
kfifo_free(&sensor_inst->data_fifo);

drivers/hid/intel-ish-hid/ishtp/bus.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ struct ishtp_cl_device {
4646
};
4747

4848
int ishtp_bus_new_client(struct ishtp_device *dev);
49-
void ishtp_remove_all_clients(struct ishtp_device *dev);
5049
int ishtp_cl_device_bind(struct ishtp_cl *cl);
5150
void ishtp_cl_bus_rx_event(struct ishtp_cl_device *device);
5251

drivers/hid/intel-ish-hid/ishtp/client.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ struct ishtp_cl {
109109
};
110110

111111
/* Client connection managenment internal functions */
112-
int ishtp_can_client_connect(struct ishtp_device *ishtp_dev, guid_t *uuid);
113112
int ishtp_fw_cl_by_id(struct ishtp_device *dev, uint8_t client_id);
114113
void ishtp_cl_send_msg(struct ishtp_device *dev, struct ishtp_cl *cl);
115114
void recv_ishtp_cl_msg(struct ishtp_device *dev,

0 commit comments

Comments
 (0)