From: Jiri Kosina Date: Fri, 12 Dec 2014 10:15:33 +0000 (+0100) Subject: Merge branches 'for-3.19/hid-report-len', 'for-3.19/i2c-hid', 'for-3.19/lenovo',... X-Git-Tag: v3.19-rc1~105^2 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=019e129f9b2d582e5901c0594427cb4026daa413;p=linux-2.6-block.git Merge branches 'for-3.19/hid-report-len', 'for-3.19/i2c-hid', 'for-3.19/lenovo', 'for-3.19/logitech', 'for-3.19/microsoft', 'for-3.19/plantronics', 'for-3.19/rmi', 'for-3.19/sony' and 'for-3.19/wacom' into for-linus --- 019e129f9b2d582e5901c0594427cb4026daa413 diff --cc drivers/hid/hid-ids.h index 40627c713519,d6cc6a9cf10f,7c863738e419,e23ab8b30626,2aa5091ecc08,0d38df761e29,f9f476db671c,7c863738e419,27e0f5188d08,e23ab8b30626..7460f3402298 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@@@@@@@@@@ -298,10 -298,9 -298,9 -298,8 -298,6 -298,6 -298,8 -298,9 -298,9 -298,8 +298,10 @@@@@@@@@@@ #define USB_VENDOR_ID_ELAN 0x04f3 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 ++ #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b ++++ +#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 +++++++++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c ++ #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --cc drivers/hid/hid-input.c index be3eba8b9731,1e95f4df4146,725f22ca47fc,725f22ca47fc,7ea582be9c9a,2df7fddbd119,725f22ca47fc,725f22ca47fc,725f22ca47fc,725f22ca47fc..e0a0f06ac5ef --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@@@@@@@@@@ -865,14 -865,14 -865,14 -865,14 -862,7 -862,7 -865,14 -865,14 -865,14 -865,14 +865,14 @@@@@@@@@@@ static void hidinput_configure_usage(st case 0x28b: map_key_clear(KEY_FORWARDMAIL); break; case 0x28c: map_key_clear(KEY_SEND); break; - default: goto ignore; ++ case 0x2c7: map_key_clear(KEY_KBDINPUTASSIST_PREV); break; ++ case 0x2c8: map_key_clear(KEY_KBDINPUTASSIST_NEXT); break; ++ case 0x2c9: map_key_clear(KEY_KBDINPUTASSIST_PREVGROUP); break; ++ case 0x2ca: map_key_clear(KEY_KBDINPUTASSIST_NEXTGROUP); break; ++ case 0x2cb: map_key_clear(KEY_KBDINPUTASSIST_ACCEPT); break; ++ case 0x2cc: map_key_clear(KEY_KBDINPUTASSIST_CANCEL); break; ++ --- ---- default: goto ignore; +++ +++++ default: map_key_clear(KEY_UNKNOWN); } break; diff --cc drivers/hid/usbhid/hid-quirks.c index 3e5f169d35f3,552671ee7c5d,552671ee7c5d,5014bb567b29,f3cb5b0a4345,be6763524fe8,5014bb567b29,552671ee7c5d,552671ee7c5d,5014bb567b29..dc89be90b35e --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@@@@@@@@@@ -71,10 -71,9 -71,9 -71,8 -71,6 -71,6 -71,8 -71,9 -71,9 -71,8 +71,10 @@@@@@@@@@@ static const struct hid_blacklist { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, ++++ + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, +++++++++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, diff --cc drivers/hid/wacom_sys.c index b6bcd251c4a8,8e02a4a6fde0,8593047bb726,8593047bb726,8593047bb726,8593047bb726,8593047bb726,8593047bb726,8593047bb726,872aa0be2e70..654202941d30 --- a/drivers/hid/wacom_sys.c +++ b/drivers/hid/wacom_sys.c @@@@@@@@@@@ -70,8 -70,13 -70,13 -70,13 -70,13 -70,13 -70,13 -70,13 -70,13 -71,13 +71,8 @@@@@@@@@@@ static int wacom_raw_event(struct hid_d static int wacom_open(struct input_dev *dev) { struct wacom *wacom = input_get_drvdata(dev); --------- int retval; -------- -------- mutex_lock(&wacom->lock); -------- retval = hid_hw_open(wacom->hdev); -------- mutex_unlock(&wacom->lock); - mutex_lock(&wacom->lock); - retval = hid_hw_open(wacom->hdev); - mutex_unlock(&wacom->lock); - --------- return retval; +++++++++ return hid_hw_open(wacom->hdev); } static void wacom_close(struct input_dev *dev) diff --cc include/linux/hid.h index 5b1ff6110e25,2366fda010c8,78ea9bf941cd,78ea9bf941cd,7d6e0556302a,78ea9bf941cd,58a89ed86acc,78ea9bf941cd,78ea9bf941cd,78ea9bf941cd..06c4607744f6 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@@@@@@@@@@ -312,7 -312,11 -312,11 -312,11 -312,8 -312,11 -339,11 -312,11 -312,11 -312,11 +339,8 @@@@@@@@@@@ struct hid_item * Vendor specific HID device groups */ #define HID_GROUP_RMI 0x0100 --- ----- --- -----/* --- ----- * Vendor specific HID device groups --- ----- */ #define HID_GROUP_WACOM 0x0101 ++++ +++++#define HID_GROUP_LOGITECH_DJ_DEVICE 0x0102 /* * This is the global environment of the parser. This information is