Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid

Pull HID fixes from Jiri Kosina:

- fix a small bug in computation of report size, which might cause some
devices (Atmel touchpad found on the Samsung Ativ 9) to reject
reports with otherwise valid contents

- a few device-ID specific quirks/additions piggy-backing on top of it

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
HID: sensor-hub: Add in quirk for sensor hub in Lenovo Ideapad Yogas
HID: add NO_INIT_REPORTS quirk for Synaptics Touch Pad V 103S
HID: core: fix computation of the report size
HID: multitouch: add support of EliteGroup 05D8 panels

+19 -2
+3 -2
drivers/hid/hid-core.c
··· 1253 1253 1254 1254 static int hid_report_len(struct hid_report *report) 1255 1255 { 1256 - return ((report->size - 1) >> 3) + 1 + (report->id > 0) + 7; 1256 + /* equivalent to DIV_ROUND_UP(report->size, 8) + !!(report->id > 0) */ 1257 + return ((report->size - 1) >> 3) + 1 + (report->id > 0); 1257 1258 } 1258 1259 1259 1260 /* ··· 1267 1266 * of implement() working on 8 byte chunks 1268 1267 */ 1269 1268 1270 - int len = hid_report_len(report); 1269 + int len = hid_report_len(report) + 7; 1271 1270 1272 1271 return kmalloc(len, flags); 1273 1272 }
+7
drivers/hid/hid-ids.h
··· 301 301 302 302 #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 303 303 304 + #define USB_VENDOR_ID_ELITEGROUP 0x03fc 305 + #define USB_DEVICE_ID_ELITEGROUP_05D8 0x05d8 306 + 304 307 #define USB_VENDOR_ID_ELO 0x04E7 305 308 #define USB_DEVICE_ID_ELO_TS2515 0x0022 306 309 #define USB_DEVICE_ID_ELO_TS2700 0x0020 ··· 837 834 #define USB_DEVICE_ID_SYNAPTICS_LTS2 0x1d10 838 835 #define USB_DEVICE_ID_SYNAPTICS_HD 0x0ac3 839 836 #define USB_DEVICE_ID_SYNAPTICS_QUAD_HD 0x1ac3 837 + #define USB_DEVICE_ID_SYNAPTICS_TP_V103 0x5710 838 + 839 + #define USB_VENDOR_ID_TEXAS_INSTRUMENTS 0x2047 840 + #define USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA 0x0855 840 841 841 842 #define USB_VENDOR_ID_THINGM 0x27b8 842 843 #define USB_DEVICE_ID_BLINK1 0x01ed
+5
drivers/hid/hid-multitouch.c
··· 1155 1155 MT_USB_DEVICE(USB_VENDOR_ID_DWAV, 1156 1156 USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, 1157 1157 1158 + /* Elitegroup panel */ 1159 + { .driver_data = MT_CLS_SERIAL, 1160 + MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP, 1161 + USB_DEVICE_ID_ELITEGROUP_05D8) }, 1162 + 1158 1163 /* Flatfrog Panels */ 1159 1164 { .driver_data = MT_CLS_FLATFROG, 1160 1165 MT_USB_DEVICE(USB_VENDOR_ID_FLATFROG,
+3
drivers/hid/hid-sensor-hub.c
··· 708 708 { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_STM_0, 709 709 USB_DEVICE_ID_STM_HID_SENSOR), 710 710 .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, 711 + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_TEXAS_INSTRUMENTS, 712 + USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA), 713 + .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, 711 714 { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, HID_ANY_ID, 712 715 HID_ANY_ID) }, 713 716 { }
+1
drivers/hid/usbhid/hid-quirks.c
··· 119 119 { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_LTS2, HID_QUIRK_NO_INIT_REPORTS }, 120 120 { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS }, 121 121 { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS }, 122 + { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS }, 122 123 123 124 { 0, 0 } 124 125 };