diff options
author | Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> | 2008-10-04 10:27:36 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-10-10 07:41:48 -0400 |
commit | 310e0dc01d15f6e792a54f971dc7b1e13d1c6e95 (patch) | |
tree | 1d5f9734d5197868cc74ba110be1fe83bbce3ce5 /sound/usb/usbquirks.h | |
parent | 7a17daae8ed71bf3259d905a4fc48a5b424fa935 (diff) |
ALSA: snd-usb-audio: support for Edirol UA-4FX device
Renamed the old quirk function for ua-700/ua-25 to become more
generic, moving the MIDI interfaces to the quirk data header.
Added a new quirk for the Edirol UA-4FX.
Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/usb/usbquirks.h')
-rw-r--r-- | sound/usb/usbquirks.h | 54 |
1 files changed, 48 insertions, 6 deletions
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index d96bf8b2b94b..85532cf9dbf6 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h | |||
@@ -862,15 +862,19 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
862 | .data = (const struct snd_usb_audio_quirk[]) { | 862 | .data = (const struct snd_usb_audio_quirk[]) { |
863 | { | 863 | { |
864 | .ifnum = 1, | 864 | .ifnum = 1, |
865 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 865 | .type = QUIRK_AUDIO_EDIROL_UAXX |
866 | }, | 866 | }, |
867 | { | 867 | { |
868 | .ifnum = 2, | 868 | .ifnum = 2, |
869 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 869 | .type = QUIRK_AUDIO_EDIROL_UAXX |
870 | }, | 870 | }, |
871 | { | 871 | { |
872 | .ifnum = 3, | 872 | .ifnum = 3, |
873 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 873 | .type = QUIRK_MIDI_FIXED_ENDPOINT, |
874 | .data = & (const struct snd_usb_midi_endpoint_info) { | ||
875 | .out_cables = 0x0003, | ||
876 | .in_cables = 0x0003 | ||
877 | } | ||
874 | }, | 878 | }, |
875 | { | 879 | { |
876 | .ifnum = -1 | 880 | .ifnum = -1 |
@@ -1204,15 +1208,19 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1204 | .data = (const struct snd_usb_audio_quirk[]) { | 1208 | .data = (const struct snd_usb_audio_quirk[]) { |
1205 | { | 1209 | { |
1206 | .ifnum = 0, | 1210 | .ifnum = 0, |
1207 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1211 | .type = QUIRK_AUDIO_EDIROL_UAXX |
1208 | }, | 1212 | }, |
1209 | { | 1213 | { |
1210 | .ifnum = 1, | 1214 | .ifnum = 1, |
1211 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1215 | .type = QUIRK_AUDIO_EDIROL_UAXX |
1212 | }, | 1216 | }, |
1213 | { | 1217 | { |
1214 | .ifnum = 2, | 1218 | .ifnum = 2, |
1215 | .type = QUIRK_AUDIO_EDIROL_UA700_UA25 | 1219 | .type = QUIRK_MIDI_FIXED_ENDPOINT, |
1220 | .data = & (const struct snd_usb_midi_endpoint_info) { | ||
1221 | .out_cables = 0x0001, | ||
1222 | .in_cables = 0x0001 | ||
1223 | } | ||
1216 | }, | 1224 | }, |
1217 | { | 1225 | { |
1218 | .ifnum = -1 | 1226 | .ifnum = -1 |
@@ -1345,6 +1353,40 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1345 | } | 1353 | } |
1346 | } | 1354 | } |
1347 | }, | 1355 | }, |
1356 | { | ||
1357 | /* | ||
1358 | * This quirk is for the "Advanced Driver" mode. If off, the UA-4FX | ||
1359 | * is standard compliant, but has only 16-bit PCM and no MIDI. | ||
1360 | */ | ||
1361 | USB_DEVICE(0x0582, 0x00a3), | ||
1362 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | ||
1363 | .vendor_name = "EDIROL", | ||
1364 | .product_name = "UA-4FX", | ||
1365 | .ifnum = QUIRK_ANY_INTERFACE, | ||
1366 | .type = QUIRK_COMPOSITE, | ||
1367 | .data = (const struct snd_usb_audio_quirk[]) { | ||
1368 | { | ||
1369 | .ifnum = 0, | ||
1370 | .type = QUIRK_AUDIO_EDIROL_UAXX | ||
1371 | }, | ||
1372 | { | ||
1373 | .ifnum = 1, | ||
1374 | .type = QUIRK_AUDIO_EDIROL_UAXX | ||
1375 | }, | ||
1376 | { | ||
1377 | .ifnum = 2, | ||
1378 | .type = QUIRK_MIDI_FIXED_ENDPOINT, | ||
1379 | .data = & (const struct snd_usb_midi_endpoint_info) { | ||
1380 | .out_cables = 0x0001, | ||
1381 | .in_cables = 0x0001 | ||
1382 | } | ||
1383 | }, | ||
1384 | { | ||
1385 | .ifnum = -1 | ||
1386 | } | ||
1387 | } | ||
1388 | } | ||
1389 | }, | ||
1348 | /* TODO: add Edirol MD-P1 support */ | 1390 | /* TODO: add Edirol MD-P1 support */ |
1349 | { | 1391 | { |
1350 | USB_DEVICE(0x582, 0x00a6), | 1392 | USB_DEVICE(0x582, 0x00a6), |