]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - sound/usb/usbquirks.h
[ALSA] Remove xxx_t typedefs: USB-Audio
[linux-2.6.git] / sound / usb / usbquirks.h
index f74e652a1e51cd7ce0f88c0659d65ce12b156434..0e0575425797ee2c2fb9ebd2d0d997b9e7385a0d 100644 (file)
@@ -45,7 +45,7 @@
 
 #define YAMAHA_DEVICE(id, name) { \
        USB_DEVICE(0x0499, id), \
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { \
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { \
                .vendor_name = "Yamaha", \
                .product_name = name, \
                .ifnum = QUIRK_ANY_INTERFACE, \
@@ -54,7 +54,7 @@
 }
 #define YAMAHA_INTERFACE(id, intf, name) { \
        USB_DEVICE_VENDOR_SPEC(0x0499, id), \
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { \
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { \
                .vendor_name = "Yamaha", \
                .product_name = name, \
                .ifnum = intf, \
@@ -117,6 +117,10 @@ YAMAHA_DEVICE(0x103a, NULL),
 YAMAHA_DEVICE(0x103b, NULL),
 YAMAHA_DEVICE(0x103c, NULL),
 YAMAHA_DEVICE(0x103d, NULL),
+YAMAHA_DEVICE(0x103e, NULL),
+YAMAHA_DEVICE(0x103f, NULL),
+YAMAHA_DEVICE(0x1040, NULL),
+YAMAHA_DEVICE(0x1041, NULL),
 YAMAHA_DEVICE(0x2000, "DGP-7"),
 YAMAHA_DEVICE(0x2001, "DGP-5"),
 YAMAHA_DEVICE(0x2002, NULL),
@@ -145,12 +149,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
  */
 {
        USB_DEVICE(0x0582, 0x0000),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "UA-100",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
@@ -188,7 +192,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0007,
                                        .in_cables  = 0x0007
                                }
@@ -201,12 +205,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0002),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-4",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -218,7 +222,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x000f,
                                        .in_cables  = 0x000f
                                }
@@ -231,12 +235,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0003),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "SC-8850",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -248,7 +252,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x003f,
                                        .in_cables  = 0x003f
                                }
@@ -261,12 +265,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0004),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "U-8",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -278,7 +282,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0005,
                                        .in_cables  = 0x0005
                                }
@@ -290,13 +294,14 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* a later revision uses ID 0x0099 */
        USB_DEVICE(0x0582, 0x0005),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-2",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -308,7 +313,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0003,
                                        .in_cables  = 0x0003
                                }
@@ -321,12 +326,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0007),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "SC-8820",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -338,7 +343,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0013,
                                        .in_cables  = 0x0013
                                }
@@ -351,12 +356,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0008),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "PC-300",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -368,7 +373,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0001,
                                        .in_cables  = 0x0001
                                }
@@ -380,13 +385,14 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* a later revision uses ID 0x009d */
        USB_DEVICE(0x0582, 0x0009),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-1",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -398,7 +404,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0001,
                                        .in_cables  = 0x0001
                                }
@@ -411,12 +417,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x000b),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "SK-500",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -428,7 +434,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0013,
                                        .in_cables  = 0x0013
                                }
@@ -443,12 +449,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        /* thanks to Emiliano Grilli <emillo@libero.it>
         * for helping researching this data */
        USB_DEVICE(0x0582, 0x000c),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "SC-D70",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
@@ -486,7 +492,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0007,
                                        .in_cables  = 0x0007
                                }
@@ -507,12 +513,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * the 96kHz sample rate.
         */
        USB_DEVICE(0x0582, 0x0010),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UA-5",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -528,39 +534,42 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x0013 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0012),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "XV-5050",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
 {
+       /* has ID 0x0015 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0014),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-880",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x01ff,
                        .in_cables  = 0x01ff
                }
        }
 },
 {
+       /* has ID 0x0017 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0016),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "SD-90",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -572,7 +581,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x000f,
                                        .in_cables  = 0x000f
                                }
@@ -584,13 +593,14 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x001c when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x001b),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "MMP-2",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -602,7 +612,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 2,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0001,
                                        .in_cables  = 0x0001
                                }
@@ -614,26 +624,28 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x001e when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x001d),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "V-SYNTH",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
 {
+       /* has ID 0x0024 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0023),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-550",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x003f,
                        .in_cables  = 0x003f
                }
@@ -646,12 +658,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * and no MIDI.
         */
        USB_DEVICE(0x0582, 0x0025),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UA-20",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -671,26 +683,28 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x0028 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0027),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "SD-20",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0003,
                        .in_cables  = 0x0007
                }
        }
 },
 {
+       /* has ID 0x002a when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0029),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "SD-80",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x000f,
                        .in_cables  = 0x000f
                }
@@ -703,12 +717,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * but offers only 16-bit PCM and no MIDI.
         */
        USB_DEVICE_VENDOR_SPEC(0x0582, 0x002b),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UA-700",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_EDIROL_UA700_UA25
@@ -728,52 +742,60 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x002e when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x002d),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "XV-2020",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
 {
+       /* has ID 0x0030 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x002f),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "VariOS",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0007,
                        .in_cables  = 0x0007
                }
        }
 },
 {
+       /* has ID 0x0034 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0033),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "PCR",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0003,
                        .in_cables  = 0x0007
                }
        }
 },
+       /* TODO: add Roland M-1000 support */
 {
+       /*
+        * Has ID 0x0038 when not in "Advanced Driver" mode;
+        * later revisions use IDs 0x0054 and 0x00a2.
+        */
        USB_DEVICE(0x0582, 0x0037),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "Digital Piano",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -786,12 +808,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * and no MIDI.
         */
        USB_DEVICE_VENDOR_SPEC(0x0582, 0x003b),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "BOSS",
                .product_name = "GS-10",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = & (const snd_usb_audio_quirk_t[]) {
+               .data = & (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -811,26 +833,28 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x0041 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0040),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "GI-20",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
 {
+       /* has ID 0x0043 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0042),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "RS-70",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -838,12 +862,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0044),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "UA-1000",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_EDIROL_UA1000
@@ -855,7 +879,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 3,
                                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0003,
                                        .in_cables  = 0x0003
                                }
@@ -867,26 +891,29 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x004a when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0048),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UR-80",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0003,
                        .in_cables  = 0x0007
                }
        }
 },
+       /* TODO: add Edirol M-100FX support */
 {
+       /* has ID 0x004f when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x004d),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "PCR-A",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0003,
                        .in_cables  = 0x0007
                }
@@ -898,12 +925,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * is standard compliant, but has only 16-bit PCM.
         */
        USB_DEVICE(0x0582, 0x0050),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UA-3FX",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -920,47 +947,51 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x0582, 0x0052),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UM-1SX",
                .ifnum = 0,
                .type = QUIRK_MIDI_STANDARD_INTERFACE
        }
 },
+       /* TODO: add Roland EXR support */
 {
+       /* has ID 0x0067 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0065),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "PCR-1",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0003
                }
        }
 },
 {
+       /* has ID 0x006b when not in "Advanced Driver" mode */
        USB_DEVICE_VENDOR_SPEC(0x0582, 0x006a),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "SP-606",
                .ifnum = 3,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
 {
+       /* has ID 0x006e when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x006d),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Roland",
                .product_name = "FANTOM-X",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -973,12 +1004,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * 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) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "EDIROL",
                .product_name = "UA-25",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = (const snd_usb_audio_quirk_t[]) {
+               .data = (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_AUDIO_EDIROL_UA700_UA25
@@ -998,28 +1029,73 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
+       /* has ID 0x0076 when not in "Advanced Driver" mode */
        USB_DEVICE(0x0582, 0x0075),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "BOSS",
                .product_name = "DR-880",
                .ifnum = 0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
        }
 },
+{
+       /* has ID 0x007b when not in "Advanced Driver" mode */
+       USB_DEVICE_VENDOR_SPEC(0x0582, 0x007a),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "Roland",
+               /* "RD" or "RD-700SX"? */
+               .ifnum = 0,
+               .type = QUIRK_MIDI_FIXED_ENDPOINT,
+               .data = & (const struct snd_usb_midi_endpoint_info) {
+                       .out_cables = 0x0003,
+                       .in_cables  = 0x0003
+               }
+       }
+},
+
+/* Guillemot devices */
+{
+       /*
+        * This is for the "Windows Edition" where the external MIDI ports are
+        * the only MIDI ports; the control data is reported through HID
+        * interfaces.  The "Macintosh Edition" has ID 0xd002 and uses standard
+        * compliant USB MIDI ports for external MIDI and controls.
+        */
+       USB_DEVICE_VENDOR_SPEC(0x06f8, 0xb000),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "Hercules",
+               .product_name = "DJ Console (WE)",
+               .ifnum = 4,
+               .type = QUIRK_MIDI_FIXED_ENDPOINT,
+               .data = & (const struct snd_usb_midi_endpoint_info) {
+                       .out_cables = 0x0001,
+                       .in_cables = 0x0001
+               }
+       }
+},
+       /* TODO: add Edirol UA-101 support */
+       /* TODO: add Roland G-70 support */
+       /* TODO: add Roland V-SYNTH XT support */
+       /* TODO: add BOSS GT-PRO support */
+       /* TODO: add Edirol PC-50 support */
+       /* TODO: add Edirol PC-80 support */
+       /* TODO: add Edirol UA-1EX support */
+       /* TODO: add Edirol UM-3 support */
+       /* TODO: add Edirol MD-P1 support */
 
 /* Midiman/M-Audio devices */
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1002),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 2x2",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0003,
                        .in_cables  = 0x0003
                }
@@ -1027,12 +1103,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1011),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 1x1",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -1040,12 +1116,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1015),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "Keystation",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -1053,12 +1129,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1021),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 4x4",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x000f,
                        .in_cables  = 0x000f
                }
@@ -1071,12 +1147,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
         * Thanks to Olaf Giesbrecht <Olaf_Giesbrecht@yahoo.de>
         */
        USB_DEVICE_VER(0x0763, 0x1031, 0x0100, 0x0109),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 8x8",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x01ff,
                        .in_cables  = 0x01ff
                }
@@ -1084,12 +1160,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1033),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 8x8",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x01ff,
                        .in_cables  = 0x01ff
                }
@@ -1097,12 +1173,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x1041),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "MidiSport 2x4",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x000f,
                        .in_cables  = 0x0003
                }
@@ -1110,12 +1186,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x2001),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "Quattro",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = & (const snd_usb_audio_quirk_t[]) {
+               .data = & (const struct snd_usb_audio_quirk[]) {
                        /*
                         * Interfaces 0-2 are "Windows-compatible", 16-bit only,
                         * and share endpoints with the other interfaces.
@@ -1161,7 +1237,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 9,
                                .type = QUIRK_MIDI_MIDIMAN,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0001,
                                        .in_cables  = 0x0001
                                }
@@ -1174,12 +1250,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x2003),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "AudioPhile",
                .ifnum = 6,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -1187,12 +1263,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x2008),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "Ozone",
                .ifnum = 3,
                .type = QUIRK_MIDI_MIDIMAN,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x0001,
                        .in_cables  = 0x0001
                }
@@ -1200,12 +1276,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x0763, 0x200d),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "M-Audio",
                .product_name = "OmniStudio",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = & (const snd_usb_audio_quirk_t[]) {
+               .data = & (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_IGNORE_INTERFACE
@@ -1245,7 +1321,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                        {
                                .ifnum = 9,
                                .type = QUIRK_MIDI_MIDIMAN,
-                               .data = & (const snd_usb_midi_endpoint_info_t) {
+                               .data = & (const struct snd_usb_midi_endpoint_info) {
                                        .out_cables = 0x0001,
                                        .in_cables  = 0x0001
                                }
@@ -1266,12 +1342,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        .idVendor = 0x07fd,
        .idProduct = 0x0001,
        .bDeviceSubClass = 2,
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "MOTU",
                .product_name = "Fastlane",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_COMPOSITE,
-               .data = & (const snd_usb_audio_quirk_t[]) {
+               .data = & (const struct snd_usb_audio_quirk[]) {
                        {
                                .ifnum = 0,
                                .type = QUIRK_MIDI_RAW
@@ -1290,7 +1366,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 {
        /* Creative Sound Blaster MP3+ */
        USB_DEVICE(0x041e, 0x3010),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Creative Labs",
                .product_name = "Sound Blaster MP3+",
                .ifnum = QUIRK_NO_INTERFACE
@@ -1301,12 +1377,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 /* Emagic devices */
 {
        USB_DEVICE(0x086a, 0x0001),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Emagic",
                /* .product_name = "Unitor8", */
                .ifnum = 2,
                .type = QUIRK_MIDI_EMAGIC,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x80ff,
                        .in_cables  = 0x80ff
                }
@@ -1314,12 +1390,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x086a, 0x0002),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Emagic",
                /* .product_name = "AMT8", */
                .ifnum = 2,
                .type = QUIRK_MIDI_EMAGIC,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x80ff,
                        .in_cables  = 0x80ff
                }
@@ -1327,22 +1403,32 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x086a, 0x0003),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Emagic",
                /* .product_name = "MT4", */
                .ifnum = 2,
                .type = QUIRK_MIDI_EMAGIC,
-               .data = & (const snd_usb_midi_endpoint_info_t) {
+               .data = & (const struct snd_usb_midi_endpoint_info) {
                        .out_cables = 0x800f,
                        .in_cables  = 0x8003
                }
        }
 },
 
+/* TerraTec devices */
+{
+       USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "TerraTec",
+               .product_name = "PHASE 26",
+               .ifnum = 3,
+               .type = QUIRK_MIDI_STANDARD_INTERFACE
+       }
+},
 {
        USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
-               .vendor_name = "Terratec",
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "TerraTec",
                .product_name = "PHASE 26",
                .ifnum = 3,
                .type = QUIRK_MIDI_STANDARD_INTERFACE
@@ -1352,7 +1438,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 /* Novation EMS devices */
 {
        USB_DEVICE_VENDOR_SPEC(0x1235, 0x0001),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Novation",
                .product_name = "ReMOTE Audio/XStation",
                .ifnum = 4,
@@ -1361,7 +1447,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x1235, 0x0002),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Novation",
                .product_name = "Speedio",
                .ifnum = 3,
@@ -1370,7 +1456,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Novation",
                .product_name = "ReMOTE25",
                .ifnum = 0,
@@ -1380,7 +1466,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 
 {
        USB_DEVICE(0x4752, 0x0011),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Miditech",
                .product_name = "Midistart-2",
                .ifnum = 0,
@@ -1389,7 +1475,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 {
        USB_DEVICE(0x7104, 0x2202),
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .vendor_name = "Miditech",
                .product_name = "MidiStudio-2",
                .ifnum = 0,
@@ -1406,7 +1492,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
        .bInterfaceClass = USB_CLASS_AUDIO,
        .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING,
-       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_MIDI_STANDARD_INTERFACE
        }