Merge remote branch 'alsa/devel' into topic/misc
[linux-2.6.git] / sound / usb / usbquirks.h
index 977d980..2b426c1 100644 (file)
@@ -91,7 +91,7 @@
        .idVendor = 0x046d,
        .idProduct = 0x0850,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
        .idVendor = 0x046d,
        .idProduct = 0x08ae,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
        .idVendor = 0x046d,
        .idProduct = 0x08c6,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
        .idVendor = 0x046d,
        .idProduct = 0x08f0,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
        .idVendor = 0x046d,
        .idProduct = 0x08f5,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
        .idVendor = 0x046d,
        .idProduct = 0x08f6,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL
 },
 {
        USB_DEVICE(0x046d, 0x0990),
@@ -301,7 +301,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                                        .iface = 1,
                                        .altsetting = 1,
                                        .altset_idx = 1,
-                                       .attributes = EP_CS_ATTR_FILL_MAX,
+                                       .attributes = UAC_EP_CS_ATTR_FILL_MAX,
                                        .endpoint = 0x81,
                                        .ep_attr = 0x05,
                                        .rates = SNDRV_PCM_RATE_CONTINUOUS,
@@ -2078,7 +2078,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2092,7 +2092,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2106,7 +2106,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2120,7 +2120,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2134,7 +2134,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2148,7 +2148,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2162,7 +2162,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-950Q",
@@ -2176,7 +2176,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
+       .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
                .product_name = "HVR-850",
@@ -2185,6 +2185,51 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 
+/* Digidesign Mbox */
+{
+       /* Thanks to Clemens Ladisch <clemens@ladisch.de> */
+       USB_DEVICE(0x0dba, 0x1000),
+       .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+               .vendor_name = "Digidesign",
+               .product_name = "MBox",
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]){
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_IGNORE_INTERFACE,
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                               .data = &(const struct audioformat) {
+                                       .format = SNDRV_PCM_FORMAT_S24_3BE,
+                                       .channels = 2,
+                                       .iface = 1,
+                                       .altsetting = 1,
+                                       .altset_idx = 1,
+                                       .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
+                                       .endpoint = 0x02,
+                                       .ep_attr = 0x01,
+                                       .maxpacksize = 0x130,
+                                       .rates = SNDRV_PCM_RATE_44100 |
+                                                SNDRV_PCM_RATE_48000,
+                                       .rate_min = 44100,
+                                       .rate_max = 48000,
+                                       .nr_rates = 2,
+                                       .rate_table = (unsigned int[]) {
+                                               44100, 48000
+                                       }
+                               }
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+
+       }
+},
+
 {
        /*
         * Some USB MIDI devices don't have an audio control interface,
@@ -2193,7 +2238,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
-       .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING,
+       .bInterfaceSubClass = USB_SUBCLASS_MIDISTREAMING,
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_STANDARD_INTERFACE