diff options
Diffstat (limited to 'sound/usb/usbquirks.h')
-rw-r--r-- | sound/usb/usbquirks.h | 80 |
1 files changed, 72 insertions, 8 deletions
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 9ea726c049c6..69689e79bf79 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h | |||
@@ -62,6 +62,13 @@ | |||
62 | .idProduct = 0x3f04, | 62 | .idProduct = 0x3f04, |
63 | .bInterfaceClass = USB_CLASS_AUDIO, | 63 | .bInterfaceClass = USB_CLASS_AUDIO, |
64 | }, | 64 | }, |
65 | { | ||
66 | /* E-Mu Tracker Pre */ | ||
67 | .match_flags = USB_DEVICE_ID_MATCH_DEVICE, | ||
68 | .idVendor = 0x041e, | ||
69 | .idProduct = 0x3f0a, | ||
70 | .bInterfaceClass = USB_CLASS_AUDIO, | ||
71 | }, | ||
65 | 72 | ||
66 | /* | 73 | /* |
67 | * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface | 74 | * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface |
@@ -855,15 +862,15 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
855 | .data = (const struct snd_usb_audio_quirk[]) { | 862 | .data = (const struct snd_usb_audio_quirk[]) { |
856 | { | 863 | { |
857 | .ifnum = 1, | 864 | .ifnum = 1, |
858 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 865 | .type = QUIRK_AUDIO_EDIROL_UAXX |
859 | }, | 866 | }, |
860 | { | 867 | { |
861 | .ifnum = 2, | 868 | .ifnum = 2, |
862 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 869 | .type = QUIRK_AUDIO_EDIROL_UAXX |
863 | }, | 870 | }, |
864 | { | 871 | { |
865 | .ifnum = 3, | 872 | .ifnum = 3, |
866 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 873 | .type = QUIRK_AUDIO_EDIROL_UAXX |
867 | }, | 874 | }, |
868 | { | 875 | { |
869 | .ifnum = -1 | 876 | .ifnum = -1 |
@@ -1197,15 +1204,15 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1197 | .data = (const struct snd_usb_audio_quirk[]) { | 1204 | .data = (const struct snd_usb_audio_quirk[]) { |
1198 | { | 1205 | { |
1199 | .ifnum = 0, | 1206 | .ifnum = 0, |
1200 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1207 | .type = QUIRK_AUDIO_EDIROL_UAXX |
1201 | }, | 1208 | }, |
1202 | { | 1209 | { |
1203 | .ifnum = 1, | 1210 | .ifnum = 1, |
1204 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1211 | .type = QUIRK_AUDIO_EDIROL_UAXX |
1205 | }, | 1212 | }, |
1206 | { | 1213 | { |
1207 | .ifnum = 2, | 1214 | .ifnum = 2, |
1208 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1215 | .type = QUIRK_AUDIO_EDIROL_UAXX |
1209 | }, | 1216 | }, |
1210 | { | 1217 | { |
1211 | .ifnum = -1 | 1218 | .ifnum = -1 |
@@ -1338,6 +1345,36 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1338 | } | 1345 | } |
1339 | } | 1346 | } |
1340 | }, | 1347 | }, |
1348 | { | ||
1349 | /* | ||
1350 | * This quirk is for the "Advanced Driver" mode. If off, the UA-4FX | ||
1351 | * is standard compliant, but has only 16-bit PCM and no MIDI. | ||
1352 | */ | ||
1353 | USB_DEVICE(0x0582, 0x00a3), | ||
1354 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | ||
1355 | .vendor_name = "EDIROL", | ||
1356 | .product_name = "UA-4FX", | ||
1357 | .ifnum = QUIRK_ANY_INTERFACE, | ||
1358 | .type = QUIRK_COMPOSITE, | ||
1359 | .data = (const struct snd_usb_audio_quirk[]) { | ||
1360 | { | ||
1361 | .ifnum = 0, | ||
1362 | .type = QUIRK_AUDIO_EDIROL_UAXX | ||
1363 | }, | ||
1364 | { | ||
1365 | .ifnum = 1, | ||
1366 | .type = QUIRK_AUDIO_EDIROL_UAXX | ||
1367 | }, | ||
1368 | { | ||
1369 | .ifnum = 2, | ||
1370 | .type = QUIRK_AUDIO_EDIROL_UAXX | ||
1371 | }, | ||
1372 | { | ||
1373 | .ifnum = -1 | ||
1374 | } | ||
1375 | } | ||
1376 | } | ||
1377 | }, | ||
1341 | /* TODO: add Edirol MD-P1 support */ | 1378 | /* TODO: add Edirol MD-P1 support */ |
1342 | { | 1379 | { |
1343 | USB_DEVICE(0x582, 0x00a6), | 1380 | USB_DEVICE(0x582, 0x00a6), |
@@ -1383,7 +1420,6 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1383 | } | 1420 | } |
1384 | } | 1421 | } |
1385 | }, | 1422 | }, |
1386 | |||
1387 | { | 1423 | { |
1388 | /* Roland SonicCell */ | 1424 | /* Roland SonicCell */ |
1389 | USB_DEVICE(0x0582, 0x00c2), | 1425 | USB_DEVICE(0x0582, 0x00c2), |
@@ -1415,7 +1451,35 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1415 | } | 1451 | } |
1416 | } | 1452 | } |
1417 | }, | 1453 | }, |
1418 | 1454 | { | |
1455 | /* BOSS GT-10 */ | ||
1456 | USB_DEVICE(0x0582, 0x00da), | ||
1457 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | ||
1458 | .ifnum = QUIRK_ANY_INTERFACE, | ||
1459 | .type = QUIRK_COMPOSITE, | ||
1460 | .data = (const struct snd_usb_audio_quirk[]) { | ||
1461 | { | ||
1462 | .ifnum = 0, | ||
1463 | .type = QUIRK_AUDIO_STANDARD_INTERFACE | ||
1464 | }, | ||
1465 | { | ||
1466 | .ifnum = 1, | ||
1467 | .type = QUIRK_AUDIO_STANDARD_INTERFACE | ||
1468 | }, | ||
1469 | { | ||
1470 | .ifnum = 2, | ||
1471 | .type = QUIRK_MIDI_FIXED_ENDPOINT, | ||
1472 | .data = & (const struct snd_usb_midi_endpoint_info) { | ||
1473 | .out_cables = 0x0001, | ||
1474 | .in_cables = 0x0001 | ||
1475 | } | ||
1476 | }, | ||
1477 | { | ||
1478 | .ifnum = -1 | ||
1479 | } | ||
1480 | } | ||
1481 | } | ||
1482 | }, | ||
1419 | 1483 | ||
1420 | /* Guillemot devices */ | 1484 | /* Guillemot devices */ |
1421 | { | 1485 | { |