vserver 1.9.5.x5
[linux-2.6.git] / sound / usb / usbquirks.h
index 9cb6824..e79721c 100644 (file)
@@ -534,15 +534,15 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .data = (const snd_usb_audio_quirk_t[]) {
                        {
                                .ifnum = 1,
-                               .type = QUIRK_AUDIO_EDIROL_UA700
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
                        },
                        {
                                .ifnum = 2,
-                               .type = QUIRK_AUDIO_EDIROL_UA700
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
                        },
                        {
                                .ifnum = 3,
-                               .type = QUIRK_AUDIO_EDIROL_UA700
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
                        },
                        {
                                .ifnum = -1
@@ -638,37 +638,11 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .data = (const snd_usb_audio_quirk_t[]) {
                        {
                                .ifnum = 1,
-                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
-                               .data = & (const struct audioformat) {
-                                       .format = SNDRV_PCM_FORMAT_S24,
-                                       .channels = 12,
-                                       .iface = 1,
-                                       .altsetting = 1,
-                                       .altset_idx = 1,
-                                       .attributes = 0,
-                                       .endpoint = 0x81,
-                                       .ep_attr = 0x01,
-                                       .rates = SNDRV_PCM_RATE_CONTINUOUS,
-                                       .rate_min = 48000,
-                                       .rate_max = 48000,
-                               }
+                               .type = QUIRK_AUDIO_EDIROL_UA1000
                        },
                        {
                                .ifnum = 2,
-                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
-                               .data = & (const struct audioformat) {
-                                       .format = SNDRV_PCM_FORMAT_S24,
-                                       .channels = 10,
-                                       .iface = 2,
-                                       .altsetting = 1,
-                                       .altset_idx = 1,
-                                       .attributes = 0,
-                                       .endpoint = 0x02,
-                                       .ep_attr = 0x01,
-                                       .rates = SNDRV_PCM_RATE_CONTINUOUS,
-                                       .rate_min = 48000,
-                                       .rate_max = 48000,
-                               }
+                               .type = QUIRK_AUDIO_EDIROL_UA1000
                        },
                        {
                                .ifnum = 3,
@@ -758,6 +732,37 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .type = QUIRK_MIDI_STANDARD_INTERFACE
        }
 },
+{      /*
+        * This quirk is for the "Advanced" modes of the Edirol UA-25.
+        * If the switch is not in an advanced setting, the UA-25 has
+        * ID 0x0582/0x0073 and is standard compliant (no quirks), but
+        * offers only 16-bit PCM at 44.1 kHz and no MIDI.
+        */
+       USB_DEVICE_VENDOR_SPEC(0x0582, 0x0074),
+       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+               .vendor_name = "EDIROL",
+               .product_name = "UA-25",
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const snd_usb_audio_quirk_t[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 
 /* Midiman/M-Audio devices */
 {