Commit 7f474df0a7b7dadfc01ba778460a91f554ca1481

Authored by Linus Torvalds

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

Showing 5 changed files Side-by-side Diff

drivers/hid/hid-debug.c
... ... @@ -946,6 +946,12 @@
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] = {
drivers/hid/hid-ids.h
... ... @@ -298,6 +298,8 @@
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
drivers/hid/hid-input.c
... ... @@ -695,7 +695,10 @@
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;
... ... @@ -861,6 +864,13 @@
861 864 case 0x289: map_key_clear(KEY_REPLY); break;
862 865 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break;
863 866 case 0x28c: map_key_clear(KEY_SEND); break;
  867 +
  868 + case 0x2c7: map_key_clear(KEY_KBDINPUTASSIST_PREV); break;
  869 + case 0x2c8: map_key_clear(KEY_KBDINPUTASSIST_NEXT); break;
  870 + case 0x2c9: map_key_clear(KEY_KBDINPUTASSIST_PREVGROUP); break;
  871 + case 0x2ca: map_key_clear(KEY_KBDINPUTASSIST_NEXTGROUP); break;
  872 + case 0x2cb: map_key_clear(KEY_KBDINPUTASSIST_ACCEPT); break;
  873 + case 0x2cc: map_key_clear(KEY_KBDINPUTASSIST_CANCEL); break;
864 874  
865 875 default: goto ignore;
866 876 }
drivers/hid/usbhid/hid-quirks.c
... ... @@ -71,6 +71,8 @@
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 },
include/uapi/linux/input.h
... ... @@ -739,6 +739,13 @@
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