Commit 735beeda authored by Daniel Mack's avatar Daniel Mack Committed by Jiri Slaby

ALSA: snd-usb: re-order some quirk entries

commit 358b7dfa upstream.

No code change, just a cosmetic cleanup to keep entries ordered by the
device ID within a block of unique vendor IDs.
Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
parent f27db99b
...@@ -72,22 +72,21 @@ ...@@ -72,22 +72,21 @@
} }
}, },
/* Creative/Toshiba Multimedia Center SB-0500 */ /* Creative/E-Mu devices */
{ {
USB_DEVICE(0x041e, 0x3048), USB_DEVICE(0x041e, 0x3010),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Toshiba", .vendor_name = "Creative Labs",
.product_name = "SB-0500", .product_name = "Sound Blaster MP3+",
.ifnum = QUIRK_NO_INTERFACE .ifnum = QUIRK_NO_INTERFACE
} }
}, },
/* Creative/Toshiba Multimedia Center SB-0500 */
/* Creative/E-Mu devices */
{ {
USB_DEVICE(0x041e, 0x3010), USB_DEVICE(0x041e, 0x3048),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Creative Labs", .vendor_name = "Toshiba",
.product_name = "Sound Blaster MP3+", .product_name = "SB-0500",
.ifnum = QUIRK_NO_INTERFACE .ifnum = QUIRK_NO_INTERFACE
} }
}, },
...@@ -2580,17 +2579,17 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2580,17 +2579,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE(0x1235, 0x0018), USB_DEVICE(0x1235, 0x0010),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.vendor_name = "Novation", .vendor_name = "Focusrite",
.product_name = "Twitch", .product_name = "Saffire 6 USB",
.ifnum = QUIRK_ANY_INTERFACE, .ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE, .type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) { .data = (const struct snd_usb_audio_quirk[]) {
{ {
.ifnum = 0, .ifnum = 0,
.type = QUIRK_AUDIO_FIXED_ENDPOINT, .type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) { .data = &(const struct audioformat) {
.formats = SNDRV_PCM_FMTBIT_S24_3LE, .formats = SNDRV_PCM_FMTBIT_S24_3LE,
.channels = 4, .channels = 4,
.iface = 0, .iface = 0,
...@@ -2620,26 +2619,17 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2620,26 +2619,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661), USB_DEVICE(0x1235, 0x0018),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Novation", .vendor_name = "Novation",
.product_name = "ReMOTE25", .product_name = "Twitch",
.ifnum = 0,
.type = QUIRK_MIDI_NOVATION
}
},
{
USB_DEVICE(0x1235, 0x0010),
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.vendor_name = "Focusrite",
.product_name = "Saffire 6 USB",
.ifnum = QUIRK_ANY_INTERFACE, .ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE, .type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) { .data = (const struct snd_usb_audio_quirk[]) {
{ {
.ifnum = 0, .ifnum = 0,
.type = QUIRK_AUDIO_FIXED_ENDPOINT, .type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = &(const struct audioformat) { .data = & (const struct audioformat) {
.formats = SNDRV_PCM_FMTBIT_S24_3LE, .formats = SNDRV_PCM_FMTBIT_S24_3LE,
.channels = 4, .channels = 4,
.iface = 0, .iface = 0,
...@@ -2668,6 +2658,66 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2668,6 +2658,66 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
} }
}, },
{
USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Novation",
.product_name = "ReMOTE25",
.ifnum = 0,
.type = QUIRK_MIDI_NOVATION
}
},
{
/*
* Focusrite Scarlett 18i6
*
* Avoid mixer creation, which otherwise fails because some of
* the interface descriptor subtypes for interface 0 are
* unknown. That should be fixed or worked-around but this at
* least allows the device to be used successfully with a DAW
* and an external mixer. See comments below about other
* ignored interfaces.
*/
USB_DEVICE(0x1235, 0x8004),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Focusrite",
.product_name = "Scarlett 18i6",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = & (const struct snd_usb_audio_quirk[]) {
{
/* InterfaceSubClass 1 (Control Device) */
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 1,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
/* InterfaceSubClass 1 (Control Device) */
.ifnum = 3,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 4,
.type = QUIRK_MIDI_STANDARD_INTERFACE
},
{
/* InterfaceSubClass 1 (Device Firmware Update) */
.ifnum = 5,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = -1
}
}
}
},
/* Access Music devices */ /* Access Music devices */
{ {
...@@ -2770,7 +2820,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2770,7 +2820,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240), USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2778,13 +2828,13 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2778,13 +2828,13 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL, .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.vendor_name = "Hauppauge", .vendor_name = "Hauppauge",
.product_name = "HVR-850", .product_name = "HVR-950Q",
.ifnum = QUIRK_ANY_INTERFACE, .ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_AUDIO_ALIGN_TRANSFER, .type = QUIRK_AUDIO_ALIGN_TRANSFER,
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210), USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2798,7 +2848,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2798,7 +2848,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217), USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2812,7 +2862,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2812,7 +2862,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b), USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2826,7 +2876,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2826,7 +2876,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e), USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2840,7 +2890,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2840,7 +2890,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{ {
USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f), USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_CLASS |
USB_DEVICE_ID_MATCH_INT_SUBCLASS, USB_DEVICE_ID_MATCH_INT_SUBCLASS,
...@@ -2848,7 +2898,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -2848,7 +2898,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL, .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.vendor_name = "Hauppauge", .vendor_name = "Hauppauge",
.product_name = "HVR-950Q", .product_name = "HVR-850",
.ifnum = QUIRK_ANY_INTERFACE, .ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_AUDIO_ALIGN_TRANSFER, .type = QUIRK_AUDIO_ALIGN_TRANSFER,
} }
...@@ -3151,58 +3201,6 @@ YAMAHA_DEVICE(0x7010, "UB99"), ...@@ -3151,58 +3201,6 @@ YAMAHA_DEVICE(0x7010, "UB99"),
} }
}, },
{
/*
* Focusrite Scarlett 18i6
*
* Avoid mixer creation, which otherwise fails because some of
* the interface descriptor subtypes for interface 0 are
* unknown. That should be fixed or worked-around but this at
* least allows the device to be used successfully with a DAW
* and an external mixer. See comments below about other
* ignored interfaces.
*/
USB_DEVICE(0x1235, 0x8004),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Focusrite",
.product_name = "Scarlett 18i6",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = & (const struct snd_usb_audio_quirk[]) {
{
/* InterfaceSubClass 1 (Control Device) */
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 1,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
/* InterfaceSubClass 1 (Control Device) */
.ifnum = 3,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 4,
.type = QUIRK_MIDI_STANDARD_INTERFACE
},
{
/* InterfaceSubClass 1 (Device Firmware Update) */
.ifnum = 5,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = -1
}
}
}
},
{ {
/* /*
* Some USB MIDI devices don't have an audio control interface, * Some USB MIDI devices don't have an audio control interface,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment