[alsa-devel] [PATCH] ALSA: snd-usb: re-order some quirk entries

Takashi Iwai tiwai at suse.de
Tue Jan 14 14:42:31 CET 2014


At Tue, 14 Jan 2014 14:37:56 +0100,
Daniel Mack wrote:
> 
> 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: Daniel Mack <zonque at gmail.com>

Thanks, applied.


Takashi

> ---
>  sound/usb/quirks-table.h | 170 +++++++++++++++++++++++------------------------
>  1 file changed, 84 insertions(+), 86 deletions(-)
> 
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 3454780..f652b10 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -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) {
> -		.vendor_name = "Toshiba",
> -		.product_name = "SB-0500",
> +		.vendor_name = "Creative Labs",
> +		.product_name = "Sound Blaster MP3+",
>  		.ifnum = QUIRK_NO_INTERFACE
>  	}
>  },
> -
> -/* Creative/E-Mu devices */
> +/* Creative/Toshiba Multimedia Center SB-0500 */
>  {
> -	USB_DEVICE(0x041e, 0x3010),
> +	USB_DEVICE(0x041e, 0x3048),
>  	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> -		.vendor_name = "Creative Labs",
> -		.product_name = "Sound Blaster MP3+",
> +		.vendor_name = "Toshiba",
> +		.product_name = "SB-0500",
>  		.ifnum = QUIRK_NO_INTERFACE
>  	}
>  },
> @@ -2521,17 +2520,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE(0x1235, 0x0018),
> -	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> -		.vendor_name = "Novation",
> -		.product_name = "Twitch",
> +	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,
>  		.type = QUIRK_COMPOSITE,
>  		.data = (const struct snd_usb_audio_quirk[]) {
>  			{
>  				.ifnum = 0,
>  				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
> -				.data = & (const struct audioformat) {
> +				.data = &(const struct audioformat) {
>  					.formats = SNDRV_PCM_FMTBIT_S24_3LE,
>  					.channels = 4,
>  					.iface = 0,
> @@ -2561,26 +2560,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) {
>  		.vendor_name = "Novation",
> -		.product_name = "ReMOTE25",
> -		.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",
> +		.product_name = "Twitch",
>  		.ifnum = QUIRK_ANY_INTERFACE,
>  		.type = QUIRK_COMPOSITE,
>  		.data = (const struct snd_usb_audio_quirk[]) {
>  			{
>  				.ifnum = 0,
>  				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
> -				.data = &(const struct audioformat) {
> +				.data = & (const struct audioformat) {
>  					.formats = SNDRV_PCM_FMTBIT_S24_3LE,
>  					.channels = 4,
>  					.iface = 0,
> @@ -2609,6 +2599,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 */
>  {
> @@ -2711,7 +2761,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2719,13 +2769,13 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
>  	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
>  		.vendor_name = "Hauppauge",
> -		.product_name = "HVR-850",
> +		.product_name = "HVR-950Q",
>  		.ifnum = QUIRK_ANY_INTERFACE,
>  		.type = QUIRK_AUDIO_ALIGN_TRANSFER,
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2739,7 +2789,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2753,7 +2803,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2767,7 +2817,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2781,7 +2831,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	}
>  },
>  {
> -	USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
> +	USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
>  	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
>  		       USB_DEVICE_ID_MATCH_INT_CLASS |
>  		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> @@ -2789,7 +2839,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  	.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
>  	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
>  		.vendor_name = "Hauppauge",
> -		.product_name = "HVR-950Q",
> +		.product_name = "HVR-850",
>  		.ifnum = QUIRK_ANY_INTERFACE,
>  		.type = QUIRK_AUDIO_ALIGN_TRANSFER,
>  	}
> @@ -3094,58 +3144,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,
>  	 * so we have to grab MIDI streaming interfaces here.
>  	 */
> -- 
> 1.8.4.2
> 


More information about the Alsa-devel mailing list