HID: usbhid: Add quirks for Mayflash/Dragonrise GameCube and PS3 adapters
authorMarcel Hasler <mahasler@gmail.com>
Tue, 4 Apr 2017 19:32:03 +0000 (19:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Apr 2017 10:41:15 +0000 (12:41 +0200)
[ Upstream commit b2554000f5b5d2a3a368d09c6debf7da64901fcf ]

All known gamepad adapters by Mayflash (identified as Dragonrise) need
HID_QUIRK_MULTI_INPUT to split them up into four input devices. Without this
quirk those adapters are falsely recognized as tablets. Fixes bug 115841
(https://bugzilla.kernel.org/show_bug.cgi?id=115841).

Signed-off-by: Marcel Hasler <mahasler@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hid/hid-ids.h
drivers/hid/usbhid/hid-quirks.c

index 9845189fae925a7e5465d5f1cc11a4be4fc07386..e95495cd0e82cf41d27c0efa6d973d91ce2bd11f 100644 (file)
 #define USB_VENDOR_ID_DMI              0x0c0b
 #define USB_DEVICE_ID_DMI_ENC          0x5fab
 
-#define USB_VENDOR_ID_DRAGONRISE       0x0079
-#define USB_DEVICE_ID_DRAGONRISE_WIIU  0x1800
+#define USB_VENDOR_ID_DRAGONRISE               0x0079
+#define USB_DEVICE_ID_DRAGONRISE_WIIU          0x1800
+#define USB_DEVICE_ID_DRAGONRISE_PS3           0x1801
+#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE      0x1843
 
 #define USB_VENDOR_ID_DWAV             0x0eef
 #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER   0x0001
index cde060fefa91169f6a2654cff3309a0990fa27d7..65f688c9c7b5e5643225af56f0bdd894708941ce 100644 (file)
@@ -83,6 +83,8 @@ static const struct hid_blacklist {
        { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL },
        { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },