Merge branch 'for-4.3/gembird' into for-linus
authorJiri Kosina <jkosina@suse.cz>
Tue, 1 Sep 2015 13:35:24 +0000 (15:35 +0200)
committerJiri Kosina <jkosina@suse.cz>
Tue, 1 Sep 2015 13:35:24 +0000 (15:35 +0200)
1  2 
drivers/hid/hid-core.c
drivers/hid/hid-ids.h

diff --combined drivers/hid/hid-core.c
index b403fe2c5cbe122442e5898a8788dd5f1094d099,7d5ed0b5c1c199f4fe7c33b8d7fd3e67773f4d80..d931886dffe8183a16ed2fd7f0e621b479b2fb98
@@@ -427,7 -427,6 +427,7 @@@ static int hid_parser_local(struct hid_
  {
        __u32 data;
        unsigned n;
 +      __u32 count;
  
        data = item_udata(item);
  
                if (item->size <= 2)
                        data = (parser->global.usage_page << 16) + data;
  
 +              count = data - parser->local.usage_minimum;
 +              if (count + parser->local.usage_index >= HID_MAX_USAGES) {
 +                      /*
 +                       * We do not warn if the name is not set, we are
 +                       * actually pre-scanning the device.
 +                       */
 +                      if (dev_name(&parser->device->dev))
 +                              hid_warn(parser->device,
 +                                       "ignoring exceeding usage max\n");
 +                      data = HID_MAX_USAGES - parser->local.usage_index +
 +                              parser->local.usage_minimum - 1;
 +                      if (data <= 0) {
 +                              hid_err(parser->device,
 +                                      "no more usage index available\n");
 +                              return -1;
 +                      }
 +              }
 +
                for (n = parser->local.usage_minimum; n <= data; n++)
                        if (hid_add_usage(parser, n)) {
                                dbg_hid("hid_add_usage failed\n");
@@@ -1801,6 -1782,9 +1801,9 @@@ static const struct hid_device_id hid_h
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ISO) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
        { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_GEMBIRD, USB_DEVICE_ID_GEMBIRD_JPD_DUALFORCE2) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0003) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0012) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) },
@@@ -2482,6 -2467,9 +2486,9 @@@ static const struct hid_device_id hid_m
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ISO) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
        { }
diff --combined drivers/hid/hid-ids.h
index 0de3284a3e2488f506544fa875c60f38c65ba901,b4d7a084367562eedf9d649374d09cb9f8c6493e..624d916d39d240c1a4bcce195015202b76f3621c
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI  0x0290
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO   0x0291
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS   0x0292
+ #define USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI  0x0272
+ #define USB_DEVICE_ID_APPLE_WELLSPRING9_ISO           0x0273
+ #define USB_DEVICE_ID_APPLE_WELLSPRING9_JIS           0x0274
  #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY  0x030a
  #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY   0x030b
  #define USB_DEVICE_ID_APPLE_IRCONTROL 0x8240
  #define USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR        0x0001
  #define USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR        0x0002
  
+ #define USB_VENDOR_ID_GEMBIRD                 0x11ff
+ #define USB_DEVICE_ID_GEMBIRD_JPD_DUALFORCE2  0x3331
  #define USB_VENDOR_ID_GENERAL_TOUCH   0x0dfc
  #define USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS 0x0003
  #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PWT_TENFINGERS 0x0100
  #define USB_DEVICE_ID_TOUCHPACK_RTS   0x1688
  
  #define USB_VENDOR_ID_TPV             0x25aa
 -#define USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN 0x8883
 +#define USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8882    0x8882
 +#define USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8883    0x8883
  
  #define USB_VENDOR_ID_TURBOX          0x062a
  #define USB_DEVICE_ID_TURBOX_KEYBOARD 0x0201