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

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

Pull HID fixes from Jiri Kosina:
- workarounds for a couple of misbehaving Elan Touchscreens, by Adel
Gadllah
- fix for TransducerSerialNumber field implementation, by Jason Gerecke
- a couple of new HID usages (added by HUT), by Olivier Gay

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
HID: input: Fix TransducerSerialNumber implementation
HID: add keyboard input assist hid usages
HID: usbhid: enable always-poll quirk for Elan Touchscreen 016f
HID: usbhid: enable always-poll quirk for Elan Touchscreen 009b

+28 -1
+6
drivers/hid/hid-debug.c
··· 946 946 [KEY_BRIGHTNESS_MIN] = "BrightnessMin", 947 947 [KEY_BRIGHTNESS_MAX] = "BrightnessMax", 948 948 [KEY_BRIGHTNESS_AUTO] = "BrightnessAuto", 949 + [KEY_KBDINPUTASSIST_PREV] = "KbdInputAssistPrev", 950 + [KEY_KBDINPUTASSIST_NEXT] = "KbdInputAssistNext", 951 + [KEY_KBDINPUTASSIST_PREVGROUP] = "KbdInputAssistPrevGroup", 952 + [KEY_KBDINPUTASSIST_NEXTGROUP] = "KbdInputAssistNextGroup", 953 + [KEY_KBDINPUTASSIST_ACCEPT] = "KbdInputAssistAccept", 954 + [KEY_KBDINPUTASSIST_CANCEL] = "KbdInputAssistCancel", 949 955 }; 950 956 951 957 static const char *relatives[REL_MAX + 1] = {
+2
drivers/hid/hid-ids.h
··· 298 298 299 299 #define USB_VENDOR_ID_ELAN 0x04f3 300 300 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 301 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b 302 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f 301 303 302 304 #define USB_VENDOR_ID_ELECOM 0x056e 303 305 #define USB_DEVICE_ID_ELECOM_BM084 0x0061
+11 -1
drivers/hid/hid-input.c
··· 695 695 break; 696 696 697 697 case 0x5b: /* TransducerSerialNumber */ 698 - set_bit(MSC_SERIAL, input->mscbit); 698 + usage->type = EV_MSC; 699 + usage->code = MSC_SERIAL; 700 + bit = input->mscbit; 701 + max = MSC_MAX; 699 702 break; 700 703 701 704 default: goto unknown; ··· 864 861 case 0x289: map_key_clear(KEY_REPLY); break; 865 862 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break; 866 863 case 0x28c: map_key_clear(KEY_SEND); break; 864 + 865 + case 0x2c7: map_key_clear(KEY_KBDINPUTASSIST_PREV); break; 866 + case 0x2c8: map_key_clear(KEY_KBDINPUTASSIST_NEXT); break; 867 + case 0x2c9: map_key_clear(KEY_KBDINPUTASSIST_PREVGROUP); break; 868 + case 0x2ca: map_key_clear(KEY_KBDINPUTASSIST_NEXTGROUP); break; 869 + case 0x2cb: map_key_clear(KEY_KBDINPUTASSIST_ACCEPT); break; 870 + case 0x2cc: map_key_clear(KEY_KBDINPUTASSIST_CANCEL); break; 867 871 868 872 default: goto ignore; 869 873 }
+2
drivers/hid/usbhid/hid-quirks.c
··· 71 71 { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, 72 72 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, 73 73 { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, 74 + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, 75 + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, 74 76 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, 75 77 { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, 76 78 { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
+7
include/uapi/linux/input.h
··· 739 739 #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ 740 740 #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ 741 741 742 + #define KEY_KBDINPUTASSIST_PREV 0x260 743 + #define KEY_KBDINPUTASSIST_NEXT 0x261 744 + #define KEY_KBDINPUTASSIST_PREVGROUP 0x262 745 + #define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 746 + #define KEY_KBDINPUTASSIST_ACCEPT 0x264 747 + #define KEY_KBDINPUTASSIST_CANCEL 0x265 748 + 742 749 #define BTN_TRIGGER_HAPPY 0x2c0 743 750 #define BTN_TRIGGER_HAPPY1 0x2c0 744 751 #define BTN_TRIGGER_HAPPY2 0x2c1