Commit 10a5fd6e authored by Benjamin Tissoires's avatar Benjamin Tissoires
Browse files

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)
parents 6e443653 65b72ea9
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -73,8 +73,6 @@ struct amdtp_hid_data {
};

/* Interface functions between HID LL driver and AMD SFH client */
void hid_amdtp_set_feature(struct hid_device *hid, char *buf, u32 len, int report_id);
void hid_amdtp_get_report(struct hid_device *hid, int report_id, int report_type);
int amdtp_hid_probe(u32 cur_hid_dev, struct amdtp_cl_data *cli_data);
void amdtp_hid_remove(struct amdtp_cl_data *cli_data);
int amd_sfh_get_report(struct hid_device *hid, int report_id, int report_type);
+2 −0
Original line number Diff line number Diff line
@@ -521,6 +521,7 @@
#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100

#define I2C_VENDOR_ID_GOODIX		0x27c6
#define I2C_DEVICE_ID_GOODIX_01E0	0x01e0
#define I2C_DEVICE_ID_GOODIX_01E8	0x01e8
#define I2C_DEVICE_ID_GOODIX_01E9	0x01e9
#define I2C_DEVICE_ID_GOODIX_01F0	0x01f0
@@ -810,6 +811,7 @@
#define USB_DEVICE_ID_LENOVO_X1_TAB	0x60a3
#define USB_DEVICE_ID_LENOVO_X1_TAB3	0x60b5
#define USB_DEVICE_ID_LENOVO_X12_TAB	0x60fe
#define USB_DEVICE_ID_LENOVO_X12_TAB2	0x61ae
#define USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E	0x600e
#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D	0x608d
#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019	0x6019
+26 −2
Original line number Diff line number Diff line
@@ -212,6 +212,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
#define MT_CLS_GOOGLE				0x0111
#define MT_CLS_RAZER_BLADE_STEALTH		0x0112
#define MT_CLS_SMART_TECH			0x0113
#define MT_CLS_SIS				0x0457

#define MT_DEFAULT_MAXCONTACT	10
#define MT_MAX_MAXCONTACT	250
@@ -396,6 +397,11 @@ static const struct mt_class mt_classes[] = {
			MT_QUIRK_CONTACT_CNT_ACCURATE |
			MT_QUIRK_SEPARATE_APP_REPORT,
	},
	{ .name = MT_CLS_SIS,
		.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
			MT_QUIRK_ALWAYS_VALID |
			MT_QUIRK_CONTACT_CNT_ACCURATE,
	},
	{ }
};

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

	if (hdev->vendor == USB_VENDOR_ID_SIS_TOUCH)
		hdev->quirks |= HID_QUIRK_NOGET;

	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
	if (ret)
		return ret;
@@ -2065,7 +2075,10 @@ static const struct hid_device_id mt_devices[] = {
		     I2C_DEVICE_ID_GOODIX_01E8) },
	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
	  HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
		     I2C_DEVICE_ID_GOODIX_01E8) },
		     I2C_DEVICE_ID_GOODIX_01E9) },
	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
	  HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
		     I2C_DEVICE_ID_GOODIX_01E0) },

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

	/* Lenovo X12 TAB Gen 2 */
	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
		HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
			   USB_VENDOR_ID_LENOVO,
			   USB_DEVICE_ID_LENOVO_X12_TAB2) },

	/* Logitech devices */
	{ .driver_data = MT_CLS_NSMU,
		HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH_WIN_8,
@@ -2275,6 +2294,11 @@ static const struct hid_device_id mt_devices[] = {
		HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_GOOGLE,
			USB_DEVICE_ID_GOOGLE_WHISKERS) },

	/* sis */
	{ .driver_data = MT_CLS_SIS,
		HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_SIS_TOUCH,
			HID_ANY_ID) },

	/* Generic MT device */
	{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH, HID_ANY_ID, HID_ANY_ID) },

+1 −1
Original line number Diff line number Diff line
@@ -732,7 +732,7 @@ static int hid_sensor_custom_dev_if_add(struct hid_sensor_custom *sensor_inst)

	sensor_inst->custom_dev.minor = MISC_DYNAMIC_MINOR;
	sensor_inst->custom_dev.name = dev_name(&sensor_inst->pdev->dev);
	sensor_inst->custom_dev.fops = &hid_sensor_custom_fops,
	sensor_inst->custom_dev.fops = &hid_sensor_custom_fops;
	ret = misc_register(&sensor_inst->custom_dev);
	if (ret) {
		kfifo_free(&sensor_inst->data_fifo);
+0 −1
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ struct ishtp_cl_device {
};

int	ishtp_bus_new_client(struct ishtp_device *dev);
void	ishtp_remove_all_clients(struct ishtp_device *dev);
int	ishtp_cl_device_bind(struct ishtp_cl *cl);
void	ishtp_cl_bus_rx_event(struct ishtp_cl_device *device);

Loading