mqueue: remove unneeded info->messages initialization
[safe/jmp/linux-2.6] / sound / usb / usbquirks.h
index 85532cf..a892bda 100644 (file)
        .idProduct = prod, \
        .bInterfaceClass = USB_CLASS_VENDOR_SPEC
 
+/* Creative/Toshiba Multimedia Center SB-0500 */
+{
+       USB_DEVICE(0x041e, 0x3048),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "Toshiba",
+               .product_name = "SB-0500",
+               .ifnum = QUIRK_NO_INTERFACE
+       }
+},
+
 /* Creative/E-Mu devices */
 {
        USB_DEVICE(0x041e, 0x3010),
        .bInterfaceClass = USB_CLASS_AUDIO,
        .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
 },
+{
+       USB_DEVICE(0x046d, 0x0990),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "Logitech, Inc.",
+               .product_name = "QuickCam Pro 9000",
+               .ifnum = QUIRK_NO_INTERFACE
+       }
+},
 
 /*
  * Yamaha devices
@@ -870,11 +888,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        },
                        {
                                .ifnum = 3,
-                               .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const struct snd_usb_midi_endpoint_info) {
-                                       .out_cables = 0x0003,
-                                       .in_cables  = 0x0003
-                               }
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
                        },
                        {
                                .ifnum = -1
@@ -1216,11 +1230,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        },
                        {
                                .ifnum = 2,
-                               .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const struct snd_usb_midi_endpoint_info) {
-                                       .out_cables = 0x0001,
-                                       .in_cables  = 0x0001
-                               }
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
                        },
                        {
                                .ifnum = -1
@@ -1375,11 +1385,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        },
                        {
                                .ifnum = 2,
-                               .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const struct snd_usb_midi_endpoint_info) {
-                                       .out_cables = 0x0001,
-                                       .in_cables  = 0x0001
-                               }
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
                        },
                        {
                                .ifnum = -1
@@ -1464,6 +1470,41 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* Edirol M-16DX */
+       /* FIXME: This quirk gives a good-working capture stream but the
+        *        playback seems problematic because of lacking of sync
+        *        with capture stream.  It needs to sync with the capture
+        *        clock.  As now, you'll get frequent sound distortions
+        *        via the playback.
+        */
+       USB_DEVICE(0x0582, 0x00c4),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_MIDI_FIXED_ENDPOINT,
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
+                                       .out_cables = 0x0001,
+                                       .in_cables  = 0x0001
+                               }
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
+{
        /* BOSS GT-10 */
        USB_DEVICE(0x0582, 0x00da),
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
@@ -1492,6 +1533,59 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                }
        }
 },
+{
+       /* Advanced modes of the Edirol UA-25EX.
+        * For the standard mode, UA-25EX has ID 0582:00e7, which
+        * offers only 16-bit PCM at 44.1 kHz and no MIDI.
+        */
+       USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "EDIROL",
+               .product_name = "UA-25EX",
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_EDIROL_UAXX
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
+{
+       /* has ID 0x00ea when not in Advanced Driver mode */
+       USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e9),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               /* .vendor_name = "Roland", */
+               /* .product_name = "UA-1G", */
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 
 /* Guillemot devices */
 {
@@ -1832,7 +1926,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .data = & (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
-                               .type = QUIRK_MIDI_RAW
+                               .type = QUIRK_MIDI_FASTLANE
                        },
                        {
                                .ifnum = 1,
@@ -1915,6 +2009,14 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       USB_DEVICE(0x0ccd, 0x0028),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "TerraTec",
+               .product_name = "Aureon5.1MkII",
+               .ifnum = QUIRK_NO_INTERFACE
+       }
+},
+{
        USB_DEVICE(0x0ccd, 0x0035),
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Miditech",