diff options
-rw-r--r-- | drivers/hid/hid-core.c | 3 | ||||
-rw-r--r-- | drivers/hid/hid-mf.c | 19 |
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 | ||
153 | static const struct hid_device_id mf_devices[] = { | 155 | static 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 | }; |
157 | MODULE_DEVICE_TABLE(hid, mf_devices); | 166 | MODULE_DEVICE_TABLE(hid, mf_devices); |