Commit 47cf1b42 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull HID fixes from Jiri Kosina:

 - Wacom driver functional and regression fixes from Jason Gerecke

 - race condition fix in usbhid, found by syzbot and fixed by Alan Stern

 - a few device-specific quirks and ID additions

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock
  HID: mcp2221: add gpiolib dependency
  HID: i2c-hid: reset Synaptics SYNA2393 on resume
  HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT
  HID: usbhid: Fix race between usbhid_close() and usbhid_stop()
  Revert "HID: wacom: generic: read the number of expected touches on a per collection basis"
  HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead
  HID: alps: Add AUI1657 device ID
  HID: logitech: Add support for Logitech G11 extra keys
  HID: multitouch: add eGalaxTouch P80H84 support
  HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices
parents 9851a0de 1e189f26
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1155,6 +1155,7 @@ config HID_ALPS
config HID_MCP2221
	tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support"
	depends on USB_HID && I2C
	depends on GPIOLIB
	---help---
	Provides I2C and SMBUS host adapter functionality over USB-HID
	through MCP2221 device.
+1 −0
Original line number Diff line number Diff line
@@ -802,6 +802,7 @@ static int alps_probe(struct hid_device *hdev, const struct hid_device_id *id)
		break;
	case HID_DEVICE_ID_ALPS_U1_DUAL:
	case HID_DEVICE_ID_ALPS_U1:
	case HID_DEVICE_ID_ALPS_U1_UNICORN_LEGACY:
		data->dev_type = U1;
		break;
	default:
+7 −1
Original line number Diff line number Diff line
@@ -79,10 +79,10 @@
#define HID_DEVICE_ID_ALPS_U1_DUAL_PTP	0x121F
#define HID_DEVICE_ID_ALPS_U1_DUAL_3BTN_PTP	0x1220
#define HID_DEVICE_ID_ALPS_U1		0x1215
#define HID_DEVICE_ID_ALPS_U1_UNICORN_LEGACY         0x121E
#define HID_DEVICE_ID_ALPS_T4_BTNLESS	0x120C
#define HID_DEVICE_ID_ALPS_1222		0x1222


#define USB_VENDOR_ID_AMI		0x046b
#define USB_DEVICE_ID_AMI_VIRT_KEYBOARD_AND_MOUSE	0xff10

@@ -385,6 +385,7 @@
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7349	0x7349
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_73F7	0x73f7
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C002	0xc002

#define USB_VENDOR_ID_ELAN		0x04f3
#define USB_DEVICE_ID_TOSHIBA_CLICK_L9W	0x0401
@@ -759,6 +760,7 @@
#define USB_DEVICE_ID_LOGITECH_RUMBLEPAD2	0xc218
#define USB_DEVICE_ID_LOGITECH_RUMBLEPAD2_2	0xc219
#define USB_DEVICE_ID_LOGITECH_G15_LCD		0xc222
#define USB_DEVICE_ID_LOGITECH_G11		0xc225
#define USB_DEVICE_ID_LOGITECH_G15_V2_LCD	0xc227
#define USB_DEVICE_ID_LOGITECH_G510		0xc22d
#define USB_DEVICE_ID_LOGITECH_G510_USB_AUDIO	0xc22e
@@ -1097,6 +1099,9 @@
#define USB_DEVICE_ID_SYMBOL_SCANNER_2	0x1300
#define USB_DEVICE_ID_SYMBOL_SCANNER_3	0x1200

#define I2C_VENDOR_ID_SYNAPTICS     0x06cb
#define I2C_PRODUCT_ID_SYNAPTICS_SYNA2393   0x7a13

#define USB_VENDOR_ID_SYNAPTICS		0x06cb
#define USB_DEVICE_ID_SYNAPTICS_TP	0x0001
#define USB_DEVICE_ID_SYNAPTICS_INT_TP	0x0002
@@ -1111,6 +1116,7 @@
#define USB_DEVICE_ID_SYNAPTICS_LTS2	0x1d10
#define USB_DEVICE_ID_SYNAPTICS_HD	0x0ac3
#define USB_DEVICE_ID_SYNAPTICS_QUAD_HD	0x1ac3
#define USB_DEVICE_ID_SYNAPTICS_DELL_K12A	0x2819
#define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012	0x2968
#define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
#define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5	0x81a7
+4 −0
Original line number Diff line number Diff line
@@ -872,6 +872,10 @@ error_hw_stop:
}

static const struct hid_device_id lg_g15_devices[] = {
	/* The G11 is a G15 without the LCD, treat it as a G15 */
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
		USB_DEVICE_ID_LOGITECH_G11),
		.driver_data = LG_G15 },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
			 USB_DEVICE_ID_LOGITECH_G15_LCD),
		.driver_data = LG_G15 },
+3 −0
Original line number Diff line number Diff line
@@ -1922,6 +1922,9 @@ static const struct hid_device_id mt_devices[] = {
	{ .driver_data = MT_CLS_EGALAX_SERIAL,
		MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
	{ .driver_data = MT_CLS_EGALAX,
		MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C002) },

	/* Elitegroup panel */
	{ .driver_data = MT_CLS_SERIAL,
Loading