From 085d48f5666462675e0bb0b96d888347caf2d095 Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Sat, 19 May 2007 16:28:04 +0200 Subject: [PATCH] --- yaml --- r: 58415 b: refs/heads/master c: defd208681b721dbf2b69347cca5302d60246405 h: refs/heads/master i: 58413: 1226214f6957ac612fccb28df8917586a3184741 58411: a6a1b36fd65b0571dc7af1a7bd35cbbcb6b9c130 58407: 084f7f5f2d8d7e338a3cdda41fa4b0e6d51ca4fd 58399: c798f3315fd1ff2393cedf580491bdc9a3e7df7f v: v3 --- [refs] | 2 +- trunk/drivers/hid/hid-input.c | 2 +- trunk/drivers/hid/usbhid/hid-quirks.c | 4 ++++ trunk/include/linux/hid.h | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 75dc2d1ca66a..6914395106c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cb1d93c98c49e268918e35e45e5c407fc4dc4e9f +refs/heads/master: defd208681b721dbf2b69347cca5302d60246405 diff --git a/trunk/drivers/hid/hid-input.c b/trunk/drivers/hid/hid-input.c index ce6d7644e6a1..70bf54167083 100644 --- a/trunk/drivers/hid/hid-input.c +++ b/trunk/drivers/hid/hid-input.c @@ -997,7 +997,7 @@ int hidinput_connect(struct hid_device *hid) if (IS_INPUT_APPLICATION(hid->collection[i].usage)) break; - if (i == hid->maxcollection) + if (i == hid->maxcollection && (hid->quirks & HID_QUIRK_HIDINPUT) == 0) return -1; if (hid->quirks & HID_QUIRK_SKIP_OUTPUT_REPORTS) diff --git a/trunk/drivers/hid/usbhid/hid-quirks.c b/trunk/drivers/hid/usbhid/hid-quirks.c index f6c4145dc202..62a7f1e9b58c 100644 --- a/trunk/drivers/hid/usbhid/hid-quirks.c +++ b/trunk/drivers/hid/usbhid/hid-quirks.c @@ -209,6 +209,9 @@ #define USB_DEVICE_ID_MGE_UPS 0xffff #define USB_DEVICE_ID_MGE_UPS1 0x0001 +#define USB_VENDOR_ID_MICROSOFT 0x045e +#define USB_DEVICE_ID_SIDEWINDER_GV 0x003b + #define USB_VENDOR_ID_NEC 0x073e #define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301 @@ -290,6 +293,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_EDGE, HID_QUIRK_DUPLICATE_USAGES }, { USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM, HID_QUIRK_HIDDEV }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_SIDEWINDER_GV, HID_QUIRK_HIDINPUT }, { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_01, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_10, HID_QUIRK_IGNORE }, diff --git a/trunk/include/linux/hid.h b/trunk/include/linux/hid.h index 827ee748fd4c..6e45d1056e1b 100644 --- a/trunk/include/linux/hid.h +++ b/trunk/include/linux/hid.h @@ -276,6 +276,7 @@ struct hid_item { #define HID_QUIRK_DUPLICATE_USAGES 0x00200000 #define HID_QUIRK_RESET_LEDS 0x00400000 #define HID_QUIRK_SWAPPED_MIN_MAX 0x00800000 +#define HID_QUIRK_HIDINPUT 0x01000000 /* * This is the global environment of the parser. This information is