Using physical extents instead of logical ones for NEC USB HIDgamepads

From: John Fremlin
Date: Fri Feb 27 2004 - 16:12:54 EST


This patch for 2.4.22 (which applied cleanly to 2.4.25-pre) adds the
ID 073e:0301 NEC, Inc. Game Pad to the list of quirky USB joypads which
mix up logical and physical extents.

Please apply as the joypad obviously does not work without it. I've
tested it.

--- drivers/usb/hid-core.c.~1~ 2003-09-03 10:27:13.000000000 +0000
+++ drivers/usb/hid-core.c 2003-10-23 00:57:04.000000000 +0000
@@ -1182,7 +1182,10 @@ void hid_init_reports(struct hid_device
#define USB_VENDOR_ID_MGE 0x0463
#define USB_DEVICE_ID_MGE_UPS 0xffff
#define USB_DEVICE_ID_MGE_UPS1 0x0001
-
+
+#define USB_VENDOR_ID_NEC 0x073e
+#define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301
+
struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1237,6 +1240,7 @@ struct hid_blacklist {
{ USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_HIDDEV },
{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS1, HID_QUIRK_HIDDEV },
+ { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD },
{ 0, 0 }
};