aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/usbquirks.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/usbquirks.h')
-rw-r--r--sound/usb/usbquirks.h310
1 files changed, 172 insertions, 138 deletions
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h
index ba506c3871f4..6190ada00e38 100644
--- a/sound/usb/usbquirks.h
+++ b/sound/usb/usbquirks.h
@@ -45,7 +45,7 @@
45 45
46#define YAMAHA_DEVICE(id, name) { \ 46#define YAMAHA_DEVICE(id, name) { \
47 USB_DEVICE(0x0499, id), \ 47 USB_DEVICE(0x0499, id), \
48 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { \ 48 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { \
49 .vendor_name = "Yamaha", \ 49 .vendor_name = "Yamaha", \
50 .product_name = name, \ 50 .product_name = name, \
51 .ifnum = QUIRK_ANY_INTERFACE, \ 51 .ifnum = QUIRK_ANY_INTERFACE, \
@@ -54,7 +54,7 @@
54} 54}
55#define YAMAHA_INTERFACE(id, intf, name) { \ 55#define YAMAHA_INTERFACE(id, intf, name) { \
56 USB_DEVICE_VENDOR_SPEC(0x0499, id), \ 56 USB_DEVICE_VENDOR_SPEC(0x0499, id), \
57 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { \ 57 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { \
58 .vendor_name = "Yamaha", \ 58 .vendor_name = "Yamaha", \
59 .product_name = name, \ 59 .product_name = name, \
60 .ifnum = intf, \ 60 .ifnum = intf, \
@@ -149,12 +149,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
149 */ 149 */
150{ 150{
151 USB_DEVICE(0x0582, 0x0000), 151 USB_DEVICE(0x0582, 0x0000),
152 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 152 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
153 .vendor_name = "Roland", 153 .vendor_name = "Roland",
154 .product_name = "UA-100", 154 .product_name = "UA-100",
155 .ifnum = QUIRK_ANY_INTERFACE, 155 .ifnum = QUIRK_ANY_INTERFACE,
156 .type = QUIRK_COMPOSITE, 156 .type = QUIRK_COMPOSITE,
157 .data = (const snd_usb_audio_quirk_t[]) { 157 .data = (const struct snd_usb_audio_quirk[]) {
158 { 158 {
159 .ifnum = 0, 159 .ifnum = 0,
160 .type = QUIRK_AUDIO_FIXED_ENDPOINT, 160 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
@@ -192,7 +192,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
192 { 192 {
193 .ifnum = 2, 193 .ifnum = 2,
194 .type = QUIRK_MIDI_FIXED_ENDPOINT, 194 .type = QUIRK_MIDI_FIXED_ENDPOINT,
195 .data = & (const snd_usb_midi_endpoint_info_t) { 195 .data = & (const struct snd_usb_midi_endpoint_info) {
196 .out_cables = 0x0007, 196 .out_cables = 0x0007,
197 .in_cables = 0x0007 197 .in_cables = 0x0007
198 } 198 }
@@ -205,12 +205,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
205}, 205},
206{ 206{
207 USB_DEVICE(0x0582, 0x0002), 207 USB_DEVICE(0x0582, 0x0002),
208 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 208 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
209 .vendor_name = "EDIROL", 209 .vendor_name = "EDIROL",
210 .product_name = "UM-4", 210 .product_name = "UM-4",
211 .ifnum = QUIRK_ANY_INTERFACE, 211 .ifnum = QUIRK_ANY_INTERFACE,
212 .type = QUIRK_COMPOSITE, 212 .type = QUIRK_COMPOSITE,
213 .data = (const snd_usb_audio_quirk_t[]) { 213 .data = (const struct snd_usb_audio_quirk[]) {
214 { 214 {
215 .ifnum = 0, 215 .ifnum = 0,
216 .type = QUIRK_IGNORE_INTERFACE 216 .type = QUIRK_IGNORE_INTERFACE
@@ -222,7 +222,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
222 { 222 {
223 .ifnum = 2, 223 .ifnum = 2,
224 .type = QUIRK_MIDI_FIXED_ENDPOINT, 224 .type = QUIRK_MIDI_FIXED_ENDPOINT,
225 .data = & (const snd_usb_midi_endpoint_info_t) { 225 .data = & (const struct snd_usb_midi_endpoint_info) {
226 .out_cables = 0x000f, 226 .out_cables = 0x000f,
227 .in_cables = 0x000f 227 .in_cables = 0x000f
228 } 228 }
@@ -235,12 +235,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
235}, 235},
236{ 236{
237 USB_DEVICE(0x0582, 0x0003), 237 USB_DEVICE(0x0582, 0x0003),
238 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 238 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
239 .vendor_name = "Roland", 239 .vendor_name = "Roland",
240 .product_name = "SC-8850", 240 .product_name = "SC-8850",
241 .ifnum = QUIRK_ANY_INTERFACE, 241 .ifnum = QUIRK_ANY_INTERFACE,
242 .type = QUIRK_COMPOSITE, 242 .type = QUIRK_COMPOSITE,
243 .data = (const snd_usb_audio_quirk_t[]) { 243 .data = (const struct snd_usb_audio_quirk[]) {
244 { 244 {
245 .ifnum = 0, 245 .ifnum = 0,
246 .type = QUIRK_IGNORE_INTERFACE 246 .type = QUIRK_IGNORE_INTERFACE
@@ -252,7 +252,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
252 { 252 {
253 .ifnum = 2, 253 .ifnum = 2,
254 .type = QUIRK_MIDI_FIXED_ENDPOINT, 254 .type = QUIRK_MIDI_FIXED_ENDPOINT,
255 .data = & (const snd_usb_midi_endpoint_info_t) { 255 .data = & (const struct snd_usb_midi_endpoint_info) {
256 .out_cables = 0x003f, 256 .out_cables = 0x003f,
257 .in_cables = 0x003f 257 .in_cables = 0x003f
258 } 258 }
@@ -265,12 +265,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
265}, 265},
266{ 266{
267 USB_DEVICE(0x0582, 0x0004), 267 USB_DEVICE(0x0582, 0x0004),
268 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 268 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
269 .vendor_name = "Roland", 269 .vendor_name = "Roland",
270 .product_name = "U-8", 270 .product_name = "U-8",
271 .ifnum = QUIRK_ANY_INTERFACE, 271 .ifnum = QUIRK_ANY_INTERFACE,
272 .type = QUIRK_COMPOSITE, 272 .type = QUIRK_COMPOSITE,
273 .data = (const snd_usb_audio_quirk_t[]) { 273 .data = (const struct snd_usb_audio_quirk[]) {
274 { 274 {
275 .ifnum = 0, 275 .ifnum = 0,
276 .type = QUIRK_IGNORE_INTERFACE 276 .type = QUIRK_IGNORE_INTERFACE
@@ -282,7 +282,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
282 { 282 {
283 .ifnum = 2, 283 .ifnum = 2,
284 .type = QUIRK_MIDI_FIXED_ENDPOINT, 284 .type = QUIRK_MIDI_FIXED_ENDPOINT,
285 .data = & (const snd_usb_midi_endpoint_info_t) { 285 .data = & (const struct snd_usb_midi_endpoint_info) {
286 .out_cables = 0x0005, 286 .out_cables = 0x0005,
287 .in_cables = 0x0005 287 .in_cables = 0x0005
288 } 288 }
@@ -296,12 +296,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
296{ 296{
297 /* a later revision uses ID 0x0099 */ 297 /* a later revision uses ID 0x0099 */
298 USB_DEVICE(0x0582, 0x0005), 298 USB_DEVICE(0x0582, 0x0005),
299 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 299 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
300 .vendor_name = "EDIROL", 300 .vendor_name = "EDIROL",
301 .product_name = "UM-2", 301 .product_name = "UM-2",
302 .ifnum = QUIRK_ANY_INTERFACE, 302 .ifnum = QUIRK_ANY_INTERFACE,
303 .type = QUIRK_COMPOSITE, 303 .type = QUIRK_COMPOSITE,
304 .data = (const snd_usb_audio_quirk_t[]) { 304 .data = (const struct snd_usb_audio_quirk[]) {
305 { 305 {
306 .ifnum = 0, 306 .ifnum = 0,
307 .type = QUIRK_IGNORE_INTERFACE 307 .type = QUIRK_IGNORE_INTERFACE
@@ -313,7 +313,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
313 { 313 {
314 .ifnum = 2, 314 .ifnum = 2,
315 .type = QUIRK_MIDI_FIXED_ENDPOINT, 315 .type = QUIRK_MIDI_FIXED_ENDPOINT,
316 .data = & (const snd_usb_midi_endpoint_info_t) { 316 .data = & (const struct snd_usb_midi_endpoint_info) {
317 .out_cables = 0x0003, 317 .out_cables = 0x0003,
318 .in_cables = 0x0003 318 .in_cables = 0x0003
319 } 319 }
@@ -326,12 +326,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
326}, 326},
327{ 327{
328 USB_DEVICE(0x0582, 0x0007), 328 USB_DEVICE(0x0582, 0x0007),
329 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 329 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
330 .vendor_name = "Roland", 330 .vendor_name = "Roland",
331 .product_name = "SC-8820", 331 .product_name = "SC-8820",
332 .ifnum = QUIRK_ANY_INTERFACE, 332 .ifnum = QUIRK_ANY_INTERFACE,
333 .type = QUIRK_COMPOSITE, 333 .type = QUIRK_COMPOSITE,
334 .data = (const snd_usb_audio_quirk_t[]) { 334 .data = (const struct snd_usb_audio_quirk[]) {
335 { 335 {
336 .ifnum = 0, 336 .ifnum = 0,
337 .type = QUIRK_IGNORE_INTERFACE 337 .type = QUIRK_IGNORE_INTERFACE
@@ -343,7 +343,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
343 { 343 {
344 .ifnum = 2, 344 .ifnum = 2,
345 .type = QUIRK_MIDI_FIXED_ENDPOINT, 345 .type = QUIRK_MIDI_FIXED_ENDPOINT,
346 .data = & (const snd_usb_midi_endpoint_info_t) { 346 .data = & (const struct snd_usb_midi_endpoint_info) {
347 .out_cables = 0x0013, 347 .out_cables = 0x0013,
348 .in_cables = 0x0013 348 .in_cables = 0x0013
349 } 349 }
@@ -356,12 +356,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
356}, 356},
357{ 357{
358 USB_DEVICE(0x0582, 0x0008), 358 USB_DEVICE(0x0582, 0x0008),
359 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 359 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
360 .vendor_name = "Roland", 360 .vendor_name = "Roland",
361 .product_name = "PC-300", 361 .product_name = "PC-300",
362 .ifnum = QUIRK_ANY_INTERFACE, 362 .ifnum = QUIRK_ANY_INTERFACE,
363 .type = QUIRK_COMPOSITE, 363 .type = QUIRK_COMPOSITE,
364 .data = (const snd_usb_audio_quirk_t[]) { 364 .data = (const struct snd_usb_audio_quirk[]) {
365 { 365 {
366 .ifnum = 0, 366 .ifnum = 0,
367 .type = QUIRK_IGNORE_INTERFACE 367 .type = QUIRK_IGNORE_INTERFACE
@@ -373,7 +373,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
373 { 373 {
374 .ifnum = 2, 374 .ifnum = 2,
375 .type = QUIRK_MIDI_FIXED_ENDPOINT, 375 .type = QUIRK_MIDI_FIXED_ENDPOINT,
376 .data = & (const snd_usb_midi_endpoint_info_t) { 376 .data = & (const struct snd_usb_midi_endpoint_info) {
377 .out_cables = 0x0001, 377 .out_cables = 0x0001,
378 .in_cables = 0x0001 378 .in_cables = 0x0001
379 } 379 }
@@ -387,12 +387,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
387{ 387{
388 /* a later revision uses ID 0x009d */ 388 /* a later revision uses ID 0x009d */
389 USB_DEVICE(0x0582, 0x0009), 389 USB_DEVICE(0x0582, 0x0009),
390 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 390 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
391 .vendor_name = "EDIROL", 391 .vendor_name = "EDIROL",
392 .product_name = "UM-1", 392 .product_name = "UM-1",
393 .ifnum = QUIRK_ANY_INTERFACE, 393 .ifnum = QUIRK_ANY_INTERFACE,
394 .type = QUIRK_COMPOSITE, 394 .type = QUIRK_COMPOSITE,
395 .data = (const snd_usb_audio_quirk_t[]) { 395 .data = (const struct snd_usb_audio_quirk[]) {
396 { 396 {
397 .ifnum = 0, 397 .ifnum = 0,
398 .type = QUIRK_IGNORE_INTERFACE 398 .type = QUIRK_IGNORE_INTERFACE
@@ -404,7 +404,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
404 { 404 {
405 .ifnum = 2, 405 .ifnum = 2,
406 .type = QUIRK_MIDI_FIXED_ENDPOINT, 406 .type = QUIRK_MIDI_FIXED_ENDPOINT,
407 .data = & (const snd_usb_midi_endpoint_info_t) { 407 .data = & (const struct snd_usb_midi_endpoint_info) {
408 .out_cables = 0x0001, 408 .out_cables = 0x0001,
409 .in_cables = 0x0001 409 .in_cables = 0x0001
410 } 410 }
@@ -417,12 +417,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
417}, 417},
418{ 418{
419 USB_DEVICE(0x0582, 0x000b), 419 USB_DEVICE(0x0582, 0x000b),
420 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 420 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
421 .vendor_name = "Roland", 421 .vendor_name = "Roland",
422 .product_name = "SK-500", 422 .product_name = "SK-500",
423 .ifnum = QUIRK_ANY_INTERFACE, 423 .ifnum = QUIRK_ANY_INTERFACE,
424 .type = QUIRK_COMPOSITE, 424 .type = QUIRK_COMPOSITE,
425 .data = (const snd_usb_audio_quirk_t[]) { 425 .data = (const struct snd_usb_audio_quirk[]) {
426 { 426 {
427 .ifnum = 0, 427 .ifnum = 0,
428 .type = QUIRK_IGNORE_INTERFACE 428 .type = QUIRK_IGNORE_INTERFACE
@@ -434,7 +434,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
434 { 434 {
435 .ifnum = 2, 435 .ifnum = 2,
436 .type = QUIRK_MIDI_FIXED_ENDPOINT, 436 .type = QUIRK_MIDI_FIXED_ENDPOINT,
437 .data = & (const snd_usb_midi_endpoint_info_t) { 437 .data = & (const struct snd_usb_midi_endpoint_info) {
438 .out_cables = 0x0013, 438 .out_cables = 0x0013,
439 .in_cables = 0x0013 439 .in_cables = 0x0013
440 } 440 }
@@ -449,12 +449,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
449 /* thanks to Emiliano Grilli <emillo@libero.it> 449 /* thanks to Emiliano Grilli <emillo@libero.it>
450 * for helping researching this data */ 450 * for helping researching this data */
451 USB_DEVICE(0x0582, 0x000c), 451 USB_DEVICE(0x0582, 0x000c),
452 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 452 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
453 .vendor_name = "Roland", 453 .vendor_name = "Roland",
454 .product_name = "SC-D70", 454 .product_name = "SC-D70",
455 .ifnum = QUIRK_ANY_INTERFACE, 455 .ifnum = QUIRK_ANY_INTERFACE,
456 .type = QUIRK_COMPOSITE, 456 .type = QUIRK_COMPOSITE,
457 .data = (const snd_usb_audio_quirk_t[]) { 457 .data = (const struct snd_usb_audio_quirk[]) {
458 { 458 {
459 .ifnum = 0, 459 .ifnum = 0,
460 .type = QUIRK_AUDIO_FIXED_ENDPOINT, 460 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
@@ -492,7 +492,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
492 { 492 {
493 .ifnum = 2, 493 .ifnum = 2,
494 .type = QUIRK_MIDI_FIXED_ENDPOINT, 494 .type = QUIRK_MIDI_FIXED_ENDPOINT,
495 .data = & (const snd_usb_midi_endpoint_info_t) { 495 .data = & (const struct snd_usb_midi_endpoint_info) {
496 .out_cables = 0x0007, 496 .out_cables = 0x0007,
497 .in_cables = 0x0007 497 .in_cables = 0x0007
498 } 498 }
@@ -513,12 +513,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
513 * the 96kHz sample rate. 513 * the 96kHz sample rate.
514 */ 514 */
515 USB_DEVICE(0x0582, 0x0010), 515 USB_DEVICE(0x0582, 0x0010),
516 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 516 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
517 .vendor_name = "EDIROL", 517 .vendor_name = "EDIROL",
518 .product_name = "UA-5", 518 .product_name = "UA-5",
519 .ifnum = QUIRK_ANY_INTERFACE, 519 .ifnum = QUIRK_ANY_INTERFACE,
520 .type = QUIRK_COMPOSITE, 520 .type = QUIRK_COMPOSITE,
521 .data = (const snd_usb_audio_quirk_t[]) { 521 .data = (const struct snd_usb_audio_quirk[]) {
522 { 522 {
523 .ifnum = 1, 523 .ifnum = 1,
524 .type = QUIRK_AUDIO_STANDARD_INTERFACE 524 .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -536,12 +536,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
536{ 536{
537 /* has ID 0x0013 when not in "Advanced Driver" mode */ 537 /* has ID 0x0013 when not in "Advanced Driver" mode */
538 USB_DEVICE(0x0582, 0x0012), 538 USB_DEVICE(0x0582, 0x0012),
539 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 539 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
540 .vendor_name = "Roland", 540 .vendor_name = "Roland",
541 .product_name = "XV-5050", 541 .product_name = "XV-5050",
542 .ifnum = 0, 542 .ifnum = 0,
543 .type = QUIRK_MIDI_FIXED_ENDPOINT, 543 .type = QUIRK_MIDI_FIXED_ENDPOINT,
544 .data = & (const snd_usb_midi_endpoint_info_t) { 544 .data = & (const struct snd_usb_midi_endpoint_info) {
545 .out_cables = 0x0001, 545 .out_cables = 0x0001,
546 .in_cables = 0x0001 546 .in_cables = 0x0001
547 } 547 }
@@ -550,12 +550,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
550{ 550{
551 /* has ID 0x0015 when not in "Advanced Driver" mode */ 551 /* has ID 0x0015 when not in "Advanced Driver" mode */
552 USB_DEVICE(0x0582, 0x0014), 552 USB_DEVICE(0x0582, 0x0014),
553 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 553 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
554 .vendor_name = "EDIROL", 554 .vendor_name = "EDIROL",
555 .product_name = "UM-880", 555 .product_name = "UM-880",
556 .ifnum = 0, 556 .ifnum = 0,
557 .type = QUIRK_MIDI_FIXED_ENDPOINT, 557 .type = QUIRK_MIDI_FIXED_ENDPOINT,
558 .data = & (const snd_usb_midi_endpoint_info_t) { 558 .data = & (const struct snd_usb_midi_endpoint_info) {
559 .out_cables = 0x01ff, 559 .out_cables = 0x01ff,
560 .in_cables = 0x01ff 560 .in_cables = 0x01ff
561 } 561 }
@@ -564,12 +564,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
564{ 564{
565 /* has ID 0x0017 when not in "Advanced Driver" mode */ 565 /* has ID 0x0017 when not in "Advanced Driver" mode */
566 USB_DEVICE(0x0582, 0x0016), 566 USB_DEVICE(0x0582, 0x0016),
567 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 567 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
568 .vendor_name = "EDIROL", 568 .vendor_name = "EDIROL",
569 .product_name = "SD-90", 569 .product_name = "SD-90",
570 .ifnum = QUIRK_ANY_INTERFACE, 570 .ifnum = QUIRK_ANY_INTERFACE,
571 .type = QUIRK_COMPOSITE, 571 .type = QUIRK_COMPOSITE,
572 .data = (const snd_usb_audio_quirk_t[]) { 572 .data = (const struct snd_usb_audio_quirk[]) {
573 { 573 {
574 .ifnum = 0, 574 .ifnum = 0,
575 .type = QUIRK_IGNORE_INTERFACE 575 .type = QUIRK_IGNORE_INTERFACE
@@ -581,7 +581,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
581 { 581 {
582 .ifnum = 2, 582 .ifnum = 2,
583 .type = QUIRK_MIDI_FIXED_ENDPOINT, 583 .type = QUIRK_MIDI_FIXED_ENDPOINT,
584 .data = & (const snd_usb_midi_endpoint_info_t) { 584 .data = & (const struct snd_usb_midi_endpoint_info) {
585 .out_cables = 0x000f, 585 .out_cables = 0x000f,
586 .in_cables = 0x000f 586 .in_cables = 0x000f
587 } 587 }
@@ -595,12 +595,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
595{ 595{
596 /* has ID 0x001c when not in "Advanced Driver" mode */ 596 /* has ID 0x001c when not in "Advanced Driver" mode */
597 USB_DEVICE(0x0582, 0x001b), 597 USB_DEVICE(0x0582, 0x001b),
598 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 598 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
599 .vendor_name = "Roland", 599 .vendor_name = "Roland",
600 .product_name = "MMP-2", 600 .product_name = "MMP-2",
601 .ifnum = QUIRK_ANY_INTERFACE, 601 .ifnum = QUIRK_ANY_INTERFACE,
602 .type = QUIRK_COMPOSITE, 602 .type = QUIRK_COMPOSITE,
603 .data = (const snd_usb_audio_quirk_t[]) { 603 .data = (const struct snd_usb_audio_quirk[]) {
604 { 604 {
605 .ifnum = 0, 605 .ifnum = 0,
606 .type = QUIRK_IGNORE_INTERFACE 606 .type = QUIRK_IGNORE_INTERFACE
@@ -612,7 +612,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
612 { 612 {
613 .ifnum = 2, 613 .ifnum = 2,
614 .type = QUIRK_MIDI_FIXED_ENDPOINT, 614 .type = QUIRK_MIDI_FIXED_ENDPOINT,
615 .data = & (const snd_usb_midi_endpoint_info_t) { 615 .data = & (const struct snd_usb_midi_endpoint_info) {
616 .out_cables = 0x0001, 616 .out_cables = 0x0001,
617 .in_cables = 0x0001 617 .in_cables = 0x0001
618 } 618 }
@@ -626,12 +626,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
626{ 626{
627 /* has ID 0x001e when not in "Advanced Driver" mode */ 627 /* has ID 0x001e when not in "Advanced Driver" mode */
628 USB_DEVICE(0x0582, 0x001d), 628 USB_DEVICE(0x0582, 0x001d),
629 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 629 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
630 .vendor_name = "Roland", 630 .vendor_name = "Roland",
631 .product_name = "V-SYNTH", 631 .product_name = "V-SYNTH",
632 .ifnum = 0, 632 .ifnum = 0,
633 .type = QUIRK_MIDI_FIXED_ENDPOINT, 633 .type = QUIRK_MIDI_FIXED_ENDPOINT,
634 .data = & (const snd_usb_midi_endpoint_info_t) { 634 .data = & (const struct snd_usb_midi_endpoint_info) {
635 .out_cables = 0x0001, 635 .out_cables = 0x0001,
636 .in_cables = 0x0001 636 .in_cables = 0x0001
637 } 637 }
@@ -640,12 +640,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
640{ 640{
641 /* has ID 0x0024 when not in "Advanced Driver" mode */ 641 /* has ID 0x0024 when not in "Advanced Driver" mode */
642 USB_DEVICE(0x0582, 0x0023), 642 USB_DEVICE(0x0582, 0x0023),
643 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 643 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
644 .vendor_name = "EDIROL", 644 .vendor_name = "EDIROL",
645 .product_name = "UM-550", 645 .product_name = "UM-550",
646 .ifnum = 0, 646 .ifnum = 0,
647 .type = QUIRK_MIDI_FIXED_ENDPOINT, 647 .type = QUIRK_MIDI_FIXED_ENDPOINT,
648 .data = & (const snd_usb_midi_endpoint_info_t) { 648 .data = & (const struct snd_usb_midi_endpoint_info) {
649 .out_cables = 0x003f, 649 .out_cables = 0x003f,
650 .in_cables = 0x003f 650 .in_cables = 0x003f
651 } 651 }
@@ -658,23 +658,57 @@ YAMAHA_DEVICE(0x7010, "UB99"),
658 * and no MIDI. 658 * and no MIDI.
659 */ 659 */
660 USB_DEVICE(0x0582, 0x0025), 660 USB_DEVICE(0x0582, 0x0025),
661 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 661 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
662 .vendor_name = "EDIROL", 662 .vendor_name = "EDIROL",
663 .product_name = "UA-20", 663 .product_name = "UA-20",
664 .ifnum = QUIRK_ANY_INTERFACE, 664 .ifnum = QUIRK_ANY_INTERFACE,
665 .type = QUIRK_COMPOSITE, 665 .type = QUIRK_COMPOSITE,
666 .data = (const snd_usb_audio_quirk_t[]) { 666 .data = (const struct snd_usb_audio_quirk[]) {
667 {
668 .ifnum = 0,
669 .type = QUIRK_IGNORE_INTERFACE
670 },
667 { 671 {
668 .ifnum = 1, 672 .ifnum = 1,
669 .type = QUIRK_AUDIO_STANDARD_INTERFACE 673 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
674 .data = & (const struct audioformat) {
675 .format = SNDRV_PCM_FORMAT_S24_3LE,
676 .channels = 2,
677 .iface = 1,
678 .altsetting = 1,
679 .altset_idx = 1,
680 .attributes = 0,
681 .endpoint = 0x01,
682 .ep_attr = 0x01,
683 .rates = SNDRV_PCM_RATE_CONTINUOUS,
684 .rate_min = 44100,
685 .rate_max = 44100,
686 }
670 }, 687 },
671 { 688 {
672 .ifnum = 2, 689 .ifnum = 2,
673 .type = QUIRK_AUDIO_STANDARD_INTERFACE 690 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
691 .data = & (const struct audioformat) {
692 .format = SNDRV_PCM_FORMAT_S24_3LE,
693 .channels = 2,
694 .iface = 2,
695 .altsetting = 1,
696 .altset_idx = 1,
697 .attributes = 0,
698 .endpoint = 0x82,
699 .ep_attr = 0x01,
700 .rates = SNDRV_PCM_RATE_CONTINUOUS,
701 .rate_min = 44100,
702 .rate_max = 44100,
703 }
674 }, 704 },
675 { 705 {
676 .ifnum = 3, 706 .ifnum = 3,
677 .type = QUIRK_MIDI_STANDARD_INTERFACE 707 .type = QUIRK_MIDI_FIXED_ENDPOINT,
708 .data = & (const struct snd_usb_midi_endpoint_info) {
709 .out_cables = 0x0001,
710 .in_cables = 0x0001
711 }
678 }, 712 },
679 { 713 {
680 .ifnum = -1 714 .ifnum = -1
@@ -685,12 +719,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
685{ 719{
686 /* has ID 0x0028 when not in "Advanced Driver" mode */ 720 /* has ID 0x0028 when not in "Advanced Driver" mode */
687 USB_DEVICE(0x0582, 0x0027), 721 USB_DEVICE(0x0582, 0x0027),
688 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 722 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
689 .vendor_name = "EDIROL", 723 .vendor_name = "EDIROL",
690 .product_name = "SD-20", 724 .product_name = "SD-20",
691 .ifnum = 0, 725 .ifnum = 0,
692 .type = QUIRK_MIDI_FIXED_ENDPOINT, 726 .type = QUIRK_MIDI_FIXED_ENDPOINT,
693 .data = & (const snd_usb_midi_endpoint_info_t) { 727 .data = & (const struct snd_usb_midi_endpoint_info) {
694 .out_cables = 0x0003, 728 .out_cables = 0x0003,
695 .in_cables = 0x0007 729 .in_cables = 0x0007
696 } 730 }
@@ -699,12 +733,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
699{ 733{
700 /* has ID 0x002a when not in "Advanced Driver" mode */ 734 /* has ID 0x002a when not in "Advanced Driver" mode */
701 USB_DEVICE(0x0582, 0x0029), 735 USB_DEVICE(0x0582, 0x0029),
702 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 736 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
703 .vendor_name = "EDIROL", 737 .vendor_name = "EDIROL",
704 .product_name = "SD-80", 738 .product_name = "SD-80",
705 .ifnum = 0, 739 .ifnum = 0,
706 .type = QUIRK_MIDI_FIXED_ENDPOINT, 740 .type = QUIRK_MIDI_FIXED_ENDPOINT,
707 .data = & (const snd_usb_midi_endpoint_info_t) { 741 .data = & (const struct snd_usb_midi_endpoint_info) {
708 .out_cables = 0x000f, 742 .out_cables = 0x000f,
709 .in_cables = 0x000f 743 .in_cables = 0x000f
710 } 744 }
@@ -717,12 +751,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
717 * but offers only 16-bit PCM and no MIDI. 751 * but offers only 16-bit PCM and no MIDI.
718 */ 752 */
719 USB_DEVICE_VENDOR_SPEC(0x0582, 0x002b), 753 USB_DEVICE_VENDOR_SPEC(0x0582, 0x002b),
720 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 754 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
721 .vendor_name = "EDIROL", 755 .vendor_name = "EDIROL",
722 .product_name = "UA-700", 756 .product_name = "UA-700",
723 .ifnum = QUIRK_ANY_INTERFACE, 757 .ifnum = QUIRK_ANY_INTERFACE,
724 .type = QUIRK_COMPOSITE, 758 .type = QUIRK_COMPOSITE,
725 .data = (const snd_usb_audio_quirk_t[]) { 759 .data = (const struct snd_usb_audio_quirk[]) {
726 { 760 {
727 .ifnum = 1, 761 .ifnum = 1,
728 .type = QUIRK_AUDIO_EDIROL_UA700_UA25 762 .type = QUIRK_AUDIO_EDIROL_UA700_UA25
@@ -744,12 +778,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
744{ 778{
745 /* has ID 0x002e when not in "Advanced Driver" mode */ 779 /* has ID 0x002e when not in "Advanced Driver" mode */
746 USB_DEVICE(0x0582, 0x002d), 780 USB_DEVICE(0x0582, 0x002d),
747 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 781 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
748 .vendor_name = "Roland", 782 .vendor_name = "Roland",
749 .product_name = "XV-2020", 783 .product_name = "XV-2020",
750 .ifnum = 0, 784 .ifnum = 0,
751 .type = QUIRK_MIDI_FIXED_ENDPOINT, 785 .type = QUIRK_MIDI_FIXED_ENDPOINT,
752 .data = & (const snd_usb_midi_endpoint_info_t) { 786 .data = & (const struct snd_usb_midi_endpoint_info) {
753 .out_cables = 0x0001, 787 .out_cables = 0x0001,
754 .in_cables = 0x0001 788 .in_cables = 0x0001
755 } 789 }
@@ -758,12 +792,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
758{ 792{
759 /* has ID 0x0030 when not in "Advanced Driver" mode */ 793 /* has ID 0x0030 when not in "Advanced Driver" mode */
760 USB_DEVICE(0x0582, 0x002f), 794 USB_DEVICE(0x0582, 0x002f),
761 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 795 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
762 .vendor_name = "Roland", 796 .vendor_name = "Roland",
763 .product_name = "VariOS", 797 .product_name = "VariOS",
764 .ifnum = 0, 798 .ifnum = 0,
765 .type = QUIRK_MIDI_FIXED_ENDPOINT, 799 .type = QUIRK_MIDI_FIXED_ENDPOINT,
766 .data = & (const snd_usb_midi_endpoint_info_t) { 800 .data = & (const struct snd_usb_midi_endpoint_info) {
767 .out_cables = 0x0007, 801 .out_cables = 0x0007,
768 .in_cables = 0x0007 802 .in_cables = 0x0007
769 } 803 }
@@ -772,12 +806,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
772{ 806{
773 /* has ID 0x0034 when not in "Advanced Driver" mode */ 807 /* has ID 0x0034 when not in "Advanced Driver" mode */
774 USB_DEVICE(0x0582, 0x0033), 808 USB_DEVICE(0x0582, 0x0033),
775 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 809 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
776 .vendor_name = "EDIROL", 810 .vendor_name = "EDIROL",
777 .product_name = "PCR", 811 .product_name = "PCR",
778 .ifnum = 0, 812 .ifnum = 0,
779 .type = QUIRK_MIDI_FIXED_ENDPOINT, 813 .type = QUIRK_MIDI_FIXED_ENDPOINT,
780 .data = & (const snd_usb_midi_endpoint_info_t) { 814 .data = & (const struct snd_usb_midi_endpoint_info) {
781 .out_cables = 0x0003, 815 .out_cables = 0x0003,
782 .in_cables = 0x0007 816 .in_cables = 0x0007
783 } 817 }
@@ -790,12 +824,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
790 * later revisions use IDs 0x0054 and 0x00a2. 824 * later revisions use IDs 0x0054 and 0x00a2.
791 */ 825 */
792 USB_DEVICE(0x0582, 0x0037), 826 USB_DEVICE(0x0582, 0x0037),
793 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 827 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
794 .vendor_name = "Roland", 828 .vendor_name = "Roland",
795 .product_name = "Digital Piano", 829 .product_name = "Digital Piano",
796 .ifnum = 0, 830 .ifnum = 0,
797 .type = QUIRK_MIDI_FIXED_ENDPOINT, 831 .type = QUIRK_MIDI_FIXED_ENDPOINT,
798 .data = & (const snd_usb_midi_endpoint_info_t) { 832 .data = & (const struct snd_usb_midi_endpoint_info) {
799 .out_cables = 0x0001, 833 .out_cables = 0x0001,
800 .in_cables = 0x0001 834 .in_cables = 0x0001
801 } 835 }
@@ -808,12 +842,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
808 * and no MIDI. 842 * and no MIDI.
809 */ 843 */
810 USB_DEVICE_VENDOR_SPEC(0x0582, 0x003b), 844 USB_DEVICE_VENDOR_SPEC(0x0582, 0x003b),
811 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 845 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
812 .vendor_name = "BOSS", 846 .vendor_name = "BOSS",
813 .product_name = "GS-10", 847 .product_name = "GS-10",
814 .ifnum = QUIRK_ANY_INTERFACE, 848 .ifnum = QUIRK_ANY_INTERFACE,
815 .type = QUIRK_COMPOSITE, 849 .type = QUIRK_COMPOSITE,
816 .data = & (const snd_usb_audio_quirk_t[]) { 850 .data = & (const struct snd_usb_audio_quirk[]) {
817 { 851 {
818 .ifnum = 1, 852 .ifnum = 1,
819 .type = QUIRK_AUDIO_STANDARD_INTERFACE 853 .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -835,12 +869,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
835{ 869{
836 /* has ID 0x0041 when not in "Advanced Driver" mode */ 870 /* has ID 0x0041 when not in "Advanced Driver" mode */
837 USB_DEVICE(0x0582, 0x0040), 871 USB_DEVICE(0x0582, 0x0040),
838 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 872 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
839 .vendor_name = "Roland", 873 .vendor_name = "Roland",
840 .product_name = "GI-20", 874 .product_name = "GI-20",
841 .ifnum = 0, 875 .ifnum = 0,
842 .type = QUIRK_MIDI_FIXED_ENDPOINT, 876 .type = QUIRK_MIDI_FIXED_ENDPOINT,
843 .data = & (const snd_usb_midi_endpoint_info_t) { 877 .data = & (const struct snd_usb_midi_endpoint_info) {
844 .out_cables = 0x0001, 878 .out_cables = 0x0001,
845 .in_cables = 0x0001 879 .in_cables = 0x0001
846 } 880 }
@@ -849,12 +883,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
849{ 883{
850 /* has ID 0x0043 when not in "Advanced Driver" mode */ 884 /* has ID 0x0043 when not in "Advanced Driver" mode */
851 USB_DEVICE(0x0582, 0x0042), 885 USB_DEVICE(0x0582, 0x0042),
852 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 886 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
853 .vendor_name = "Roland", 887 .vendor_name = "Roland",
854 .product_name = "RS-70", 888 .product_name = "RS-70",
855 .ifnum = 0, 889 .ifnum = 0,
856 .type = QUIRK_MIDI_FIXED_ENDPOINT, 890 .type = QUIRK_MIDI_FIXED_ENDPOINT,
857 .data = & (const snd_usb_midi_endpoint_info_t) { 891 .data = & (const struct snd_usb_midi_endpoint_info) {
858 .out_cables = 0x0001, 892 .out_cables = 0x0001,
859 .in_cables = 0x0001 893 .in_cables = 0x0001
860 } 894 }
@@ -862,12 +896,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
862}, 896},
863{ 897{
864 USB_DEVICE(0x0582, 0x0044), 898 USB_DEVICE(0x0582, 0x0044),
865 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 899 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
866 .vendor_name = "Roland", 900 .vendor_name = "Roland",
867 .product_name = "UA-1000", 901 .product_name = "UA-1000",
868 .ifnum = QUIRK_ANY_INTERFACE, 902 .ifnum = QUIRK_ANY_INTERFACE,
869 .type = QUIRK_COMPOSITE, 903 .type = QUIRK_COMPOSITE,
870 .data = (const snd_usb_audio_quirk_t[]) { 904 .data = (const struct snd_usb_audio_quirk[]) {
871 { 905 {
872 .ifnum = 1, 906 .ifnum = 1,
873 .type = QUIRK_AUDIO_EDIROL_UA1000 907 .type = QUIRK_AUDIO_EDIROL_UA1000
@@ -879,7 +913,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
879 { 913 {
880 .ifnum = 3, 914 .ifnum = 3,
881 .type = QUIRK_MIDI_FIXED_ENDPOINT, 915 .type = QUIRK_MIDI_FIXED_ENDPOINT,
882 .data = & (const snd_usb_midi_endpoint_info_t) { 916 .data = & (const struct snd_usb_midi_endpoint_info) {
883 .out_cables = 0x0003, 917 .out_cables = 0x0003,
884 .in_cables = 0x0003 918 .in_cables = 0x0003
885 } 919 }
@@ -893,12 +927,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
893{ 927{
894 /* has ID 0x004a when not in "Advanced Driver" mode */ 928 /* has ID 0x004a when not in "Advanced Driver" mode */
895 USB_DEVICE(0x0582, 0x0048), 929 USB_DEVICE(0x0582, 0x0048),
896 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 930 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
897 .vendor_name = "EDIROL", 931 .vendor_name = "EDIROL",
898 .product_name = "UR-80", 932 .product_name = "UR-80",
899 .ifnum = 0, 933 .ifnum = 0,
900 .type = QUIRK_MIDI_FIXED_ENDPOINT, 934 .type = QUIRK_MIDI_FIXED_ENDPOINT,
901 .data = & (const snd_usb_midi_endpoint_info_t) { 935 .data = & (const struct snd_usb_midi_endpoint_info) {
902 .out_cables = 0x0003, 936 .out_cables = 0x0003,
903 .in_cables = 0x0007 937 .in_cables = 0x0007
904 } 938 }
@@ -908,12 +942,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
908{ 942{
909 /* has ID 0x004f when not in "Advanced Driver" mode */ 943 /* has ID 0x004f when not in "Advanced Driver" mode */
910 USB_DEVICE(0x0582, 0x004d), 944 USB_DEVICE(0x0582, 0x004d),
911 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 945 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
912 .vendor_name = "EDIROL", 946 .vendor_name = "EDIROL",
913 .product_name = "PCR-A", 947 .product_name = "PCR-A",
914 .ifnum = 0, 948 .ifnum = 0,
915 .type = QUIRK_MIDI_FIXED_ENDPOINT, 949 .type = QUIRK_MIDI_FIXED_ENDPOINT,
916 .data = & (const snd_usb_midi_endpoint_info_t) { 950 .data = & (const struct snd_usb_midi_endpoint_info) {
917 .out_cables = 0x0003, 951 .out_cables = 0x0003,
918 .in_cables = 0x0007 952 .in_cables = 0x0007
919 } 953 }
@@ -925,12 +959,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
925 * is standard compliant, but has only 16-bit PCM. 959 * is standard compliant, but has only 16-bit PCM.
926 */ 960 */
927 USB_DEVICE(0x0582, 0x0050), 961 USB_DEVICE(0x0582, 0x0050),
928 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 962 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
929 .vendor_name = "EDIROL", 963 .vendor_name = "EDIROL",
930 .product_name = "UA-3FX", 964 .product_name = "UA-3FX",
931 .ifnum = QUIRK_ANY_INTERFACE, 965 .ifnum = QUIRK_ANY_INTERFACE,
932 .type = QUIRK_COMPOSITE, 966 .type = QUIRK_COMPOSITE,
933 .data = (const snd_usb_audio_quirk_t[]) { 967 .data = (const struct snd_usb_audio_quirk[]) {
934 { 968 {
935 .ifnum = 1, 969 .ifnum = 1,
936 .type = QUIRK_AUDIO_STANDARD_INTERFACE 970 .type = QUIRK_AUDIO_STANDARD_INTERFACE
@@ -947,7 +981,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
947}, 981},
948{ 982{
949 USB_DEVICE(0x0582, 0x0052), 983 USB_DEVICE(0x0582, 0x0052),
950 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 984 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
951 .vendor_name = "EDIROL", 985 .vendor_name = "EDIROL",
952 .product_name = "UM-1SX", 986 .product_name = "UM-1SX",
953 .ifnum = 0, 987 .ifnum = 0,
@@ -958,12 +992,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
958{ 992{
959 /* has ID 0x0067 when not in "Advanced Driver" mode */ 993 /* has ID 0x0067 when not in "Advanced Driver" mode */
960 USB_DEVICE(0x0582, 0x0065), 994 USB_DEVICE(0x0582, 0x0065),
961 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 995 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
962 .vendor_name = "EDIROL", 996 .vendor_name = "EDIROL",
963 .product_name = "PCR-1", 997 .product_name = "PCR-1",
964 .ifnum = 0, 998 .ifnum = 0,
965 .type = QUIRK_MIDI_FIXED_ENDPOINT, 999 .type = QUIRK_MIDI_FIXED_ENDPOINT,
966 .data = & (const snd_usb_midi_endpoint_info_t) { 1000 .data = & (const struct snd_usb_midi_endpoint_info) {
967 .out_cables = 0x0001, 1001 .out_cables = 0x0001,
968 .in_cables = 0x0003 1002 .in_cables = 0x0003
969 } 1003 }
@@ -972,12 +1006,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
972{ 1006{
973 /* has ID 0x006b when not in "Advanced Driver" mode */ 1007 /* has ID 0x006b when not in "Advanced Driver" mode */
974 USB_DEVICE_VENDOR_SPEC(0x0582, 0x006a), 1008 USB_DEVICE_VENDOR_SPEC(0x0582, 0x006a),
975 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1009 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
976 .vendor_name = "Roland", 1010 .vendor_name = "Roland",
977 .product_name = "SP-606", 1011 .product_name = "SP-606",
978 .ifnum = 3, 1012 .ifnum = 3,
979 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1013 .type = QUIRK_MIDI_FIXED_ENDPOINT,
980 .data = & (const snd_usb_midi_endpoint_info_t) { 1014 .data = & (const struct snd_usb_midi_endpoint_info) {
981 .out_cables = 0x0001, 1015 .out_cables = 0x0001,
982 .in_cables = 0x0001 1016 .in_cables = 0x0001
983 } 1017 }
@@ -986,12 +1020,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
986{ 1020{
987 /* has ID 0x006e when not in "Advanced Driver" mode */ 1021 /* has ID 0x006e when not in "Advanced Driver" mode */
988 USB_DEVICE(0x0582, 0x006d), 1022 USB_DEVICE(0x0582, 0x006d),
989 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1023 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
990 .vendor_name = "Roland", 1024 .vendor_name = "Roland",
991 .product_name = "FANTOM-X", 1025 .product_name = "FANTOM-X",
992 .ifnum = 0, 1026 .ifnum = 0,
993 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1027 .type = QUIRK_MIDI_FIXED_ENDPOINT,
994 .data = & (const snd_usb_midi_endpoint_info_t) { 1028 .data = & (const struct snd_usb_midi_endpoint_info) {
995 .out_cables = 0x0001, 1029 .out_cables = 0x0001,
996 .in_cables = 0x0001 1030 .in_cables = 0x0001
997 } 1031 }
@@ -1004,12 +1038,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1004 * offers only 16-bit PCM at 44.1 kHz and no MIDI. 1038 * offers only 16-bit PCM at 44.1 kHz and no MIDI.
1005 */ 1039 */
1006 USB_DEVICE_VENDOR_SPEC(0x0582, 0x0074), 1040 USB_DEVICE_VENDOR_SPEC(0x0582, 0x0074),
1007 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1041 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1008 .vendor_name = "EDIROL", 1042 .vendor_name = "EDIROL",
1009 .product_name = "UA-25", 1043 .product_name = "UA-25",
1010 .ifnum = QUIRK_ANY_INTERFACE, 1044 .ifnum = QUIRK_ANY_INTERFACE,
1011 .type = QUIRK_COMPOSITE, 1045 .type = QUIRK_COMPOSITE,
1012 .data = (const snd_usb_audio_quirk_t[]) { 1046 .data = (const struct snd_usb_audio_quirk[]) {
1013 { 1047 {
1014 .ifnum = 0, 1048 .ifnum = 0,
1015 .type = QUIRK_AUDIO_EDIROL_UA700_UA25 1049 .type = QUIRK_AUDIO_EDIROL_UA700_UA25
@@ -1031,12 +1065,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1031{ 1065{
1032 /* has ID 0x0076 when not in "Advanced Driver" mode */ 1066 /* has ID 0x0076 when not in "Advanced Driver" mode */
1033 USB_DEVICE(0x0582, 0x0075), 1067 USB_DEVICE(0x0582, 0x0075),
1034 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1068 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1035 .vendor_name = "BOSS", 1069 .vendor_name = "BOSS",
1036 .product_name = "DR-880", 1070 .product_name = "DR-880",
1037 .ifnum = 0, 1071 .ifnum = 0,
1038 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1072 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1039 .data = & (const snd_usb_midi_endpoint_info_t) { 1073 .data = & (const struct snd_usb_midi_endpoint_info) {
1040 .out_cables = 0x0001, 1074 .out_cables = 0x0001,
1041 .in_cables = 0x0001 1075 .in_cables = 0x0001
1042 } 1076 }
@@ -1045,12 +1079,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1045{ 1079{
1046 /* has ID 0x007b when not in "Advanced Driver" mode */ 1080 /* has ID 0x007b when not in "Advanced Driver" mode */
1047 USB_DEVICE_VENDOR_SPEC(0x0582, 0x007a), 1081 USB_DEVICE_VENDOR_SPEC(0x0582, 0x007a),
1048 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1082 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1049 .vendor_name = "Roland", 1083 .vendor_name = "Roland",
1050 /* "RD" or "RD-700SX"? */ 1084 /* "RD" or "RD-700SX"? */
1051 .ifnum = 0, 1085 .ifnum = 0,
1052 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1086 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1053 .data = & (const snd_usb_midi_endpoint_info_t) { 1087 .data = & (const struct snd_usb_midi_endpoint_info) {
1054 .out_cables = 0x0003, 1088 .out_cables = 0x0003,
1055 .in_cables = 0x0003 1089 .in_cables = 0x0003
1056 } 1090 }
@@ -1066,12 +1100,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1066 * compliant USB MIDI ports for external MIDI and controls. 1100 * compliant USB MIDI ports for external MIDI and controls.
1067 */ 1101 */
1068 USB_DEVICE_VENDOR_SPEC(0x06f8, 0xb000), 1102 USB_DEVICE_VENDOR_SPEC(0x06f8, 0xb000),
1069 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1103 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1070 .vendor_name = "Hercules", 1104 .vendor_name = "Hercules",
1071 .product_name = "DJ Console (WE)", 1105 .product_name = "DJ Console (WE)",
1072 .ifnum = 4, 1106 .ifnum = 4,
1073 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1107 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1074 .data = & (const snd_usb_midi_endpoint_info_t) { 1108 .data = & (const struct snd_usb_midi_endpoint_info) {
1075 .out_cables = 0x0001, 1109 .out_cables = 0x0001,
1076 .in_cables = 0x0001 1110 .in_cables = 0x0001
1077 } 1111 }
@@ -1090,12 +1124,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1090/* Midiman/M-Audio devices */ 1124/* Midiman/M-Audio devices */
1091{ 1125{
1092 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1002), 1126 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1002),
1093 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1127 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1094 .vendor_name = "M-Audio", 1128 .vendor_name = "M-Audio",
1095 .product_name = "MidiSport 2x2", 1129 .product_name = "MidiSport 2x2",
1096 .ifnum = QUIRK_ANY_INTERFACE, 1130 .ifnum = QUIRK_ANY_INTERFACE,
1097 .type = QUIRK_MIDI_MIDIMAN, 1131 .type = QUIRK_MIDI_MIDIMAN,
1098 .data = & (const snd_usb_midi_endpoint_info_t) { 1132 .data = & (const struct snd_usb_midi_endpoint_info) {
1099 .out_cables = 0x0003, 1133 .out_cables = 0x0003,
1100 .in_cables = 0x0003 1134 .in_cables = 0x0003
1101 } 1135 }
@@ -1103,12 +1137,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1103}, 1137},
1104{ 1138{
1105 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1011), 1139 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1011),
1106 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1140 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1107 .vendor_name = "M-Audio", 1141 .vendor_name = "M-Audio",
1108 .product_name = "MidiSport 1x1", 1142 .product_name = "MidiSport 1x1",
1109 .ifnum = QUIRK_ANY_INTERFACE, 1143 .ifnum = QUIRK_ANY_INTERFACE,
1110 .type = QUIRK_MIDI_MIDIMAN, 1144 .type = QUIRK_MIDI_MIDIMAN,
1111 .data = & (const snd_usb_midi_endpoint_info_t) { 1145 .data = & (const struct snd_usb_midi_endpoint_info) {
1112 .out_cables = 0x0001, 1146 .out_cables = 0x0001,
1113 .in_cables = 0x0001 1147 .in_cables = 0x0001
1114 } 1148 }
@@ -1116,12 +1150,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1116}, 1150},
1117{ 1151{
1118 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1015), 1152 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1015),
1119 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1153 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1120 .vendor_name = "M-Audio", 1154 .vendor_name = "M-Audio",
1121 .product_name = "Keystation", 1155 .product_name = "Keystation",
1122 .ifnum = QUIRK_ANY_INTERFACE, 1156 .ifnum = QUIRK_ANY_INTERFACE,
1123 .type = QUIRK_MIDI_MIDIMAN, 1157 .type = QUIRK_MIDI_MIDIMAN,
1124 .data = & (const snd_usb_midi_endpoint_info_t) { 1158 .data = & (const struct snd_usb_midi_endpoint_info) {
1125 .out_cables = 0x0001, 1159 .out_cables = 0x0001,
1126 .in_cables = 0x0001 1160 .in_cables = 0x0001
1127 } 1161 }
@@ -1129,12 +1163,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1129}, 1163},
1130{ 1164{
1131 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1021), 1165 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1021),
1132 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1166 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1133 .vendor_name = "M-Audio", 1167 .vendor_name = "M-Audio",
1134 .product_name = "MidiSport 4x4", 1168 .product_name = "MidiSport 4x4",
1135 .ifnum = QUIRK_ANY_INTERFACE, 1169 .ifnum = QUIRK_ANY_INTERFACE,
1136 .type = QUIRK_MIDI_MIDIMAN, 1170 .type = QUIRK_MIDI_MIDIMAN,
1137 .data = & (const snd_usb_midi_endpoint_info_t) { 1171 .data = & (const struct snd_usb_midi_endpoint_info) {
1138 .out_cables = 0x000f, 1172 .out_cables = 0x000f,
1139 .in_cables = 0x000f 1173 .in_cables = 0x000f
1140 } 1174 }
@@ -1147,12 +1181,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1147 * Thanks to Olaf Giesbrecht <Olaf_Giesbrecht@yahoo.de> 1181 * Thanks to Olaf Giesbrecht <Olaf_Giesbrecht@yahoo.de>
1148 */ 1182 */
1149 USB_DEVICE_VER(0x0763, 0x1031, 0x0100, 0x0109), 1183 USB_DEVICE_VER(0x0763, 0x1031, 0x0100, 0x0109),
1150 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1184 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1151 .vendor_name = "M-Audio", 1185 .vendor_name = "M-Audio",
1152 .product_name = "MidiSport 8x8", 1186 .product_name = "MidiSport 8x8",
1153 .ifnum = QUIRK_ANY_INTERFACE, 1187 .ifnum = QUIRK_ANY_INTERFACE,
1154 .type = QUIRK_MIDI_MIDIMAN, 1188 .type = QUIRK_MIDI_MIDIMAN,
1155 .data = & (const snd_usb_midi_endpoint_info_t) { 1189 .data = & (const struct snd_usb_midi_endpoint_info) {
1156 .out_cables = 0x01ff, 1190 .out_cables = 0x01ff,
1157 .in_cables = 0x01ff 1191 .in_cables = 0x01ff
1158 } 1192 }
@@ -1160,12 +1194,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1160}, 1194},
1161{ 1195{
1162 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1033), 1196 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1033),
1163 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1197 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1164 .vendor_name = "M-Audio", 1198 .vendor_name = "M-Audio",
1165 .product_name = "MidiSport 8x8", 1199 .product_name = "MidiSport 8x8",
1166 .ifnum = QUIRK_ANY_INTERFACE, 1200 .ifnum = QUIRK_ANY_INTERFACE,
1167 .type = QUIRK_MIDI_MIDIMAN, 1201 .type = QUIRK_MIDI_MIDIMAN,
1168 .data = & (const snd_usb_midi_endpoint_info_t) { 1202 .data = & (const struct snd_usb_midi_endpoint_info) {
1169 .out_cables = 0x01ff, 1203 .out_cables = 0x01ff,
1170 .in_cables = 0x01ff 1204 .in_cables = 0x01ff
1171 } 1205 }
@@ -1173,12 +1207,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1173}, 1207},
1174{ 1208{
1175 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1041), 1209 USB_DEVICE_VENDOR_SPEC(0x0763, 0x1041),
1176 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1210 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1177 .vendor_name = "M-Audio", 1211 .vendor_name = "M-Audio",
1178 .product_name = "MidiSport 2x4", 1212 .product_name = "MidiSport 2x4",
1179 .ifnum = QUIRK_ANY_INTERFACE, 1213 .ifnum = QUIRK_ANY_INTERFACE,
1180 .type = QUIRK_MIDI_MIDIMAN, 1214 .type = QUIRK_MIDI_MIDIMAN,
1181 .data = & (const snd_usb_midi_endpoint_info_t) { 1215 .data = & (const struct snd_usb_midi_endpoint_info) {
1182 .out_cables = 0x000f, 1216 .out_cables = 0x000f,
1183 .in_cables = 0x0003 1217 .in_cables = 0x0003
1184 } 1218 }
@@ -1186,12 +1220,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1186}, 1220},
1187{ 1221{
1188 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2001), 1222 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2001),
1189 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1223 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1190 .vendor_name = "M-Audio", 1224 .vendor_name = "M-Audio",
1191 .product_name = "Quattro", 1225 .product_name = "Quattro",
1192 .ifnum = QUIRK_ANY_INTERFACE, 1226 .ifnum = QUIRK_ANY_INTERFACE,
1193 .type = QUIRK_COMPOSITE, 1227 .type = QUIRK_COMPOSITE,
1194 .data = & (const snd_usb_audio_quirk_t[]) { 1228 .data = & (const struct snd_usb_audio_quirk[]) {
1195 /* 1229 /*
1196 * Interfaces 0-2 are "Windows-compatible", 16-bit only, 1230 * Interfaces 0-2 are "Windows-compatible", 16-bit only,
1197 * and share endpoints with the other interfaces. 1231 * and share endpoints with the other interfaces.
@@ -1237,7 +1271,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1237 { 1271 {
1238 .ifnum = 9, 1272 .ifnum = 9,
1239 .type = QUIRK_MIDI_MIDIMAN, 1273 .type = QUIRK_MIDI_MIDIMAN,
1240 .data = & (const snd_usb_midi_endpoint_info_t) { 1274 .data = & (const struct snd_usb_midi_endpoint_info) {
1241 .out_cables = 0x0001, 1275 .out_cables = 0x0001,
1242 .in_cables = 0x0001 1276 .in_cables = 0x0001
1243 } 1277 }
@@ -1250,12 +1284,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1250}, 1284},
1251{ 1285{
1252 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2003), 1286 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2003),
1253 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1287 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1254 .vendor_name = "M-Audio", 1288 .vendor_name = "M-Audio",
1255 .product_name = "AudioPhile", 1289 .product_name = "AudioPhile",
1256 .ifnum = 6, 1290 .ifnum = 6,
1257 .type = QUIRK_MIDI_MIDIMAN, 1291 .type = QUIRK_MIDI_MIDIMAN,
1258 .data = & (const snd_usb_midi_endpoint_info_t) { 1292 .data = & (const struct snd_usb_midi_endpoint_info) {
1259 .out_cables = 0x0001, 1293 .out_cables = 0x0001,
1260 .in_cables = 0x0001 1294 .in_cables = 0x0001
1261 } 1295 }
@@ -1263,12 +1297,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1263}, 1297},
1264{ 1298{
1265 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2008), 1299 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2008),
1266 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1300 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1267 .vendor_name = "M-Audio", 1301 .vendor_name = "M-Audio",
1268 .product_name = "Ozone", 1302 .product_name = "Ozone",
1269 .ifnum = 3, 1303 .ifnum = 3,
1270 .type = QUIRK_MIDI_MIDIMAN, 1304 .type = QUIRK_MIDI_MIDIMAN,
1271 .data = & (const snd_usb_midi_endpoint_info_t) { 1305 .data = & (const struct snd_usb_midi_endpoint_info) {
1272 .out_cables = 0x0001, 1306 .out_cables = 0x0001,
1273 .in_cables = 0x0001 1307 .in_cables = 0x0001
1274 } 1308 }
@@ -1276,12 +1310,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1276}, 1310},
1277{ 1311{
1278 USB_DEVICE_VENDOR_SPEC(0x0763, 0x200d), 1312 USB_DEVICE_VENDOR_SPEC(0x0763, 0x200d),
1279 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1313 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1280 .vendor_name = "M-Audio", 1314 .vendor_name = "M-Audio",
1281 .product_name = "OmniStudio", 1315 .product_name = "OmniStudio",
1282 .ifnum = QUIRK_ANY_INTERFACE, 1316 .ifnum = QUIRK_ANY_INTERFACE,
1283 .type = QUIRK_COMPOSITE, 1317 .type = QUIRK_COMPOSITE,
1284 .data = & (const snd_usb_audio_quirk_t[]) { 1318 .data = & (const struct snd_usb_audio_quirk[]) {
1285 { 1319 {
1286 .ifnum = 0, 1320 .ifnum = 0,
1287 .type = QUIRK_IGNORE_INTERFACE 1321 .type = QUIRK_IGNORE_INTERFACE
@@ -1321,7 +1355,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1321 { 1355 {
1322 .ifnum = 9, 1356 .ifnum = 9,
1323 .type = QUIRK_MIDI_MIDIMAN, 1357 .type = QUIRK_MIDI_MIDIMAN,
1324 .data = & (const snd_usb_midi_endpoint_info_t) { 1358 .data = & (const struct snd_usb_midi_endpoint_info) {
1325 .out_cables = 0x0001, 1359 .out_cables = 0x0001,
1326 .in_cables = 0x0001 1360 .in_cables = 0x0001
1327 } 1361 }
@@ -1342,12 +1376,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1342 .idVendor = 0x07fd, 1376 .idVendor = 0x07fd,
1343 .idProduct = 0x0001, 1377 .idProduct = 0x0001,
1344 .bDeviceSubClass = 2, 1378 .bDeviceSubClass = 2,
1345 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1379 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1346 .vendor_name = "MOTU", 1380 .vendor_name = "MOTU",
1347 .product_name = "Fastlane", 1381 .product_name = "Fastlane",
1348 .ifnum = QUIRK_ANY_INTERFACE, 1382 .ifnum = QUIRK_ANY_INTERFACE,
1349 .type = QUIRK_COMPOSITE, 1383 .type = QUIRK_COMPOSITE,
1350 .data = & (const snd_usb_audio_quirk_t[]) { 1384 .data = & (const struct snd_usb_audio_quirk[]) {
1351 { 1385 {
1352 .ifnum = 0, 1386 .ifnum = 0,
1353 .type = QUIRK_MIDI_RAW 1387 .type = QUIRK_MIDI_RAW
@@ -1366,7 +1400,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1366{ 1400{
1367 /* Creative Sound Blaster MP3+ */ 1401 /* Creative Sound Blaster MP3+ */
1368 USB_DEVICE(0x041e, 0x3010), 1402 USB_DEVICE(0x041e, 0x3010),
1369 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1403 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1370 .vendor_name = "Creative Labs", 1404 .vendor_name = "Creative Labs",
1371 .product_name = "Sound Blaster MP3+", 1405 .product_name = "Sound Blaster MP3+",
1372 .ifnum = QUIRK_NO_INTERFACE 1406 .ifnum = QUIRK_NO_INTERFACE
@@ -1377,12 +1411,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1377/* Emagic devices */ 1411/* Emagic devices */
1378{ 1412{
1379 USB_DEVICE(0x086a, 0x0001), 1413 USB_DEVICE(0x086a, 0x0001),
1380 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1414 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1381 .vendor_name = "Emagic", 1415 .vendor_name = "Emagic",
1382 /* .product_name = "Unitor8", */ 1416 /* .product_name = "Unitor8", */
1383 .ifnum = 2, 1417 .ifnum = 2,
1384 .type = QUIRK_MIDI_EMAGIC, 1418 .type = QUIRK_MIDI_EMAGIC,
1385 .data = & (const snd_usb_midi_endpoint_info_t) { 1419 .data = & (const struct snd_usb_midi_endpoint_info) {
1386 .out_cables = 0x80ff, 1420 .out_cables = 0x80ff,
1387 .in_cables = 0x80ff 1421 .in_cables = 0x80ff
1388 } 1422 }
@@ -1390,12 +1424,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1390}, 1424},
1391{ 1425{
1392 USB_DEVICE(0x086a, 0x0002), 1426 USB_DEVICE(0x086a, 0x0002),
1393 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1427 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1394 .vendor_name = "Emagic", 1428 .vendor_name = "Emagic",
1395 /* .product_name = "AMT8", */ 1429 /* .product_name = "AMT8", */
1396 .ifnum = 2, 1430 .ifnum = 2,
1397 .type = QUIRK_MIDI_EMAGIC, 1431 .type = QUIRK_MIDI_EMAGIC,
1398 .data = & (const snd_usb_midi_endpoint_info_t) { 1432 .data = & (const struct snd_usb_midi_endpoint_info) {
1399 .out_cables = 0x80ff, 1433 .out_cables = 0x80ff,
1400 .in_cables = 0x80ff 1434 .in_cables = 0x80ff
1401 } 1435 }
@@ -1403,12 +1437,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1403}, 1437},
1404{ 1438{
1405 USB_DEVICE(0x086a, 0x0003), 1439 USB_DEVICE(0x086a, 0x0003),
1406 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1440 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1407 .vendor_name = "Emagic", 1441 .vendor_name = "Emagic",
1408 /* .product_name = "MT4", */ 1442 /* .product_name = "MT4", */
1409 .ifnum = 2, 1443 .ifnum = 2,
1410 .type = QUIRK_MIDI_EMAGIC, 1444 .type = QUIRK_MIDI_EMAGIC,
1411 .data = & (const snd_usb_midi_endpoint_info_t) { 1445 .data = & (const struct snd_usb_midi_endpoint_info) {
1412 .out_cables = 0x800f, 1446 .out_cables = 0x800f,
1413 .in_cables = 0x8003 1447 .in_cables = 0x8003
1414 } 1448 }
@@ -1418,7 +1452,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1418/* TerraTec devices */ 1452/* TerraTec devices */
1419{ 1453{
1420 USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012), 1454 USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012),
1421 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1455 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1422 .vendor_name = "TerraTec", 1456 .vendor_name = "TerraTec",
1423 .product_name = "PHASE 26", 1457 .product_name = "PHASE 26",
1424 .ifnum = 3, 1458 .ifnum = 3,
@@ -1427,7 +1461,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1427}, 1461},
1428{ 1462{
1429 USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013), 1463 USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013),
1430 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1464 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1431 .vendor_name = "TerraTec", 1465 .vendor_name = "TerraTec",
1432 .product_name = "PHASE 26", 1466 .product_name = "PHASE 26",
1433 .ifnum = 3, 1467 .ifnum = 3,
@@ -1438,7 +1472,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1438/* Novation EMS devices */ 1472/* Novation EMS devices */
1439{ 1473{
1440 USB_DEVICE_VENDOR_SPEC(0x1235, 0x0001), 1474 USB_DEVICE_VENDOR_SPEC(0x1235, 0x0001),
1441 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1475 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1442 .vendor_name = "Novation", 1476 .vendor_name = "Novation",
1443 .product_name = "ReMOTE Audio/XStation", 1477 .product_name = "ReMOTE Audio/XStation",
1444 .ifnum = 4, 1478 .ifnum = 4,
@@ -1447,7 +1481,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1447}, 1481},
1448{ 1482{
1449 USB_DEVICE_VENDOR_SPEC(0x1235, 0x0002), 1483 USB_DEVICE_VENDOR_SPEC(0x1235, 0x0002),
1450 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1484 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1451 .vendor_name = "Novation", 1485 .vendor_name = "Novation",
1452 .product_name = "Speedio", 1486 .product_name = "Speedio",
1453 .ifnum = 3, 1487 .ifnum = 3,
@@ -1456,7 +1490,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1456}, 1490},
1457{ 1491{
1458 USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661), 1492 USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
1459 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1493 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1460 .vendor_name = "Novation", 1494 .vendor_name = "Novation",
1461 .product_name = "ReMOTE25", 1495 .product_name = "ReMOTE25",
1462 .ifnum = 0, 1496 .ifnum = 0,
@@ -1466,7 +1500,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1466 1500
1467{ 1501{
1468 USB_DEVICE(0x4752, 0x0011), 1502 USB_DEVICE(0x4752, 0x0011),
1469 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1503 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1470 .vendor_name = "Miditech", 1504 .vendor_name = "Miditech",
1471 .product_name = "Midistart-2", 1505 .product_name = "Midistart-2",
1472 .ifnum = 0, 1506 .ifnum = 0,
@@ -1475,7 +1509,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1475}, 1509},
1476{ 1510{
1477 USB_DEVICE(0x7104, 0x2202), 1511 USB_DEVICE(0x7104, 0x2202),
1478 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1512 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1479 .vendor_name = "Miditech", 1513 .vendor_name = "Miditech",
1480 .product_name = "MidiStudio-2", 1514 .product_name = "MidiStudio-2",
1481 .ifnum = 0, 1515 .ifnum = 0,
@@ -1492,7 +1526,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1492 USB_DEVICE_ID_MATCH_INT_SUBCLASS, 1526 USB_DEVICE_ID_MATCH_INT_SUBCLASS,
1493 .bInterfaceClass = USB_CLASS_AUDIO, 1527 .bInterfaceClass = USB_CLASS_AUDIO,
1494 .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING, 1528 .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING,
1495 .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { 1529 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1496 .ifnum = QUIRK_ANY_INTERFACE, 1530 .ifnum = QUIRK_ANY_INTERFACE,
1497 .type = QUIRK_MIDI_STANDARD_INTERFACE 1531 .type = QUIRK_MIDI_STANDARD_INTERFACE
1498 } 1532 }