aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/hid-core.c3
-rw-r--r--drivers/hid/hid-mf.c19
2 files changed, 17 insertions, 5 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index cff060b56da9..54e98ff7090d 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1887,6 +1887,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
1887 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) }, 1887 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) },
1888#if IS_ENABLED(CONFIG_HID_MAYFLASH) 1888#if IS_ENABLED(CONFIG_HID_MAYFLASH)
1889 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3) }, 1889 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3) },
1890 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR) },
1891 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1) },
1892 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2) },
1890#endif 1893#endif
1891 { HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_WN) }, 1894 { HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_WN) },
1892 { HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_FA) }, 1895 { HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_FA) },
diff --git a/drivers/hid/hid-mf.c b/drivers/hid/hid-mf.c
index d9090765a6e5..03f10516131d 100644
--- a/drivers/hid/hid-mf.c
+++ b/drivers/hid/hid-mf.c
@@ -6,12 +6,14 @@
6 * 6 *
7 * Tested with: 7 * Tested with:
8 * 0079:1801 "DragonRise Inc. Mayflash PS3 Game Controller Adapter" 8 * 0079:1801 "DragonRise Inc. Mayflash PS3 Game Controller Adapter"
9 * 0079:1803 "DragonRise Inc. Mayflash Wireless Sensor DolphinBar"
10 * 0079:1843 "DragonRise Inc. Mayflash GameCube Game Controller Adapter"
11 * 0079:1844 "DragonRise Inc. Mayflash GameCube Game Controller Adapter (v04)"
9 * 12 *
10 * The following adapters probably work too, but need to be tested: 13 * The following adapters probably work too, but need to be tested:
11 * 0079:1800 "DragonRise Inc. Mayflash WIIU Game Controller Adapter" 14 * 0079:1800 "DragonRise Inc. Mayflash WIIU Game Controller Adapter"
12 * 0079:1843 "DragonRise Inc. Mayflash GameCube Game Controller Adapter"
13 * 15 *
14 * Copyright (c) 2016 Marcel Hasler <mahasler@gmail.com> 16 * Copyright (c) 2016-2017 Marcel Hasler <mahasler@gmail.com>
15 */ 17 */
16 18
17/* 19/*
@@ -125,8 +127,8 @@ static int mf_probe(struct hid_device *hid, const struct hid_device_id *id)
125 127
126 dev_dbg(&hid->dev, "Mayflash HID hardware probe...\n"); 128 dev_dbg(&hid->dev, "Mayflash HID hardware probe...\n");
127 129
128 /* Split device into four inputs */ 130 /* Apply quirks as needed */
129 hid->quirks |= HID_QUIRK_MULTI_INPUT; 131 hid->quirks |= id->driver_data;
130 132
131 error = hid_parse(hid); 133 error = hid_parse(hid);
132 if (error) { 134 if (error) {
@@ -151,7 +153,14 @@ static int mf_probe(struct hid_device *hid, const struct hid_device_id *id)
151} 153}
152 154
153static const struct hid_device_id mf_devices[] = { 155static const struct hid_device_id mf_devices[] = {
154 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3), }, 156 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3),
157 .driver_data = HID_QUIRK_MULTI_INPUT },
158 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR),
159 .driver_data = HID_QUIRK_MULTI_INPUT },
160 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1),
161 .driver_data = HID_QUIRK_MULTI_INPUT },
162 { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2),
163 .driver_data = 0 }, /* No quirk required */
155 { } 164 { }
156}; 165};
157MODULE_DEVICE_TABLE(hid, mf_devices); 166MODULE_DEVICE_TABLE(hid, mf_devices);