diff options
-rw-r--r-- | drivers/hid/hid-input.c | 2 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 4 | ||||
-rw-r--r-- | include/linux/hid.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index ce6d7644e6a1..70bf54167083 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -997,7 +997,7 @@ int hidinput_connect(struct hid_device *hid) | |||
997 | if (IS_INPUT_APPLICATION(hid->collection[i].usage)) | 997 | if (IS_INPUT_APPLICATION(hid->collection[i].usage)) |
998 | break; | 998 | break; |
999 | 999 | ||
1000 | if (i == hid->maxcollection) | 1000 | if (i == hid->maxcollection && (hid->quirks & HID_QUIRK_HIDINPUT) == 0) |
1001 | return -1; | 1001 | return -1; |
1002 | 1002 | ||
1003 | if (hid->quirks & HID_QUIRK_SKIP_OUTPUT_REPORTS) | 1003 | if (hid->quirks & HID_QUIRK_SKIP_OUTPUT_REPORTS) |
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index f6c4145dc202..62a7f1e9b58c 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
@@ -209,6 +209,9 @@ | |||
209 | #define USB_DEVICE_ID_MGE_UPS 0xffff | 209 | #define USB_DEVICE_ID_MGE_UPS 0xffff |
210 | #define USB_DEVICE_ID_MGE_UPS1 0x0001 | 210 | #define USB_DEVICE_ID_MGE_UPS1 0x0001 |
211 | 211 | ||
212 | #define USB_VENDOR_ID_MICROSOFT 0x045e | ||
213 | #define USB_DEVICE_ID_SIDEWINDER_GV 0x003b | ||
214 | |||
212 | #define USB_VENDOR_ID_NEC 0x073e | 215 | #define USB_VENDOR_ID_NEC 0x073e |
213 | #define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301 | 216 | #define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301 |
214 | 217 | ||
@@ -290,6 +293,7 @@ static const struct hid_blacklist { | |||
290 | { USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_EDGE, HID_QUIRK_DUPLICATE_USAGES }, | 293 | { USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_EDGE, HID_QUIRK_DUPLICATE_USAGES }, |
291 | 294 | ||
292 | { USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM, HID_QUIRK_HIDDEV }, | 295 | { USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM, HID_QUIRK_HIDDEV }, |
296 | { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_SIDEWINDER_GV, HID_QUIRK_HIDINPUT }, | ||
293 | 297 | ||
294 | { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_01, HID_QUIRK_IGNORE }, | 298 | { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_01, HID_QUIRK_IGNORE }, |
295 | { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_10, HID_QUIRK_IGNORE }, | 299 | { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_10, HID_QUIRK_IGNORE }, |
diff --git a/include/linux/hid.h b/include/linux/hid.h index 827ee748fd4c..6e45d1056e1b 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -276,6 +276,7 @@ struct hid_item { | |||
276 | #define HID_QUIRK_DUPLICATE_USAGES 0x00200000 | 276 | #define HID_QUIRK_DUPLICATE_USAGES 0x00200000 |
277 | #define HID_QUIRK_RESET_LEDS 0x00400000 | 277 | #define HID_QUIRK_RESET_LEDS 0x00400000 |
278 | #define HID_QUIRK_SWAPPED_MIN_MAX 0x00800000 | 278 | #define HID_QUIRK_SWAPPED_MIN_MAX 0x00800000 |
279 | #define HID_QUIRK_HIDINPUT 0x01000000 | ||
279 | 280 | ||
280 | /* | 281 | /* |
281 | * This is the global environment of the parser. This information is | 282 | * This is the global environment of the parser. This information is |