X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fusb%2Fusbquirks.h;h=e79721ce1af18330eb215f370f23687ccab37ad1;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=9cb6824b0a497e8f72516bdeba7a0fdbd35c92d8;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 9cb6824b0..e79721ce1 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h @@ -534,15 +534,15 @@ YAMAHA_DEVICE(0x7010, "UB99"), .data = (const snd_usb_audio_quirk_t[]) { { .ifnum = 1, - .type = QUIRK_AUDIO_EDIROL_UA700 + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 }, { .ifnum = 2, - .type = QUIRK_AUDIO_EDIROL_UA700 + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 }, { .ifnum = 3, - .type = QUIRK_AUDIO_EDIROL_UA700 + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 }, { .ifnum = -1 @@ -638,37 +638,11 @@ YAMAHA_DEVICE(0x7010, "UB99"), .data = (const snd_usb_audio_quirk_t[]) { { .ifnum = 1, - .type = QUIRK_AUDIO_FIXED_ENDPOINT, - .data = & (const struct audioformat) { - .format = SNDRV_PCM_FORMAT_S24, - .channels = 12, - .iface = 1, - .altsetting = 1, - .altset_idx = 1, - .attributes = 0, - .endpoint = 0x81, - .ep_attr = 0x01, - .rates = SNDRV_PCM_RATE_CONTINUOUS, - .rate_min = 48000, - .rate_max = 48000, - } + .type = QUIRK_AUDIO_EDIROL_UA1000 }, { .ifnum = 2, - .type = QUIRK_AUDIO_FIXED_ENDPOINT, - .data = & (const struct audioformat) { - .format = SNDRV_PCM_FORMAT_S24, - .channels = 10, - .iface = 2, - .altsetting = 1, - .altset_idx = 1, - .attributes = 0, - .endpoint = 0x02, - .ep_attr = 0x01, - .rates = SNDRV_PCM_RATE_CONTINUOUS, - .rate_min = 48000, - .rate_max = 48000, - } + .type = QUIRK_AUDIO_EDIROL_UA1000 }, { .ifnum = 3, @@ -758,6 +732,37 @@ YAMAHA_DEVICE(0x7010, "UB99"), .type = QUIRK_MIDI_STANDARD_INTERFACE } }, +{ /* + * This quirk is for the "Advanced" modes of the Edirol UA-25. + * If the switch is not in an advanced setting, the UA-25 has + * ID 0x0582/0x0073 and is standard compliant (no quirks), but + * 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) { + .vendor_name = "EDIROL", + .product_name = "UA-25", + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = (const snd_usb_audio_quirk_t[]) { + { + .ifnum = 0, + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 + }, + { + .ifnum = 1, + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 + }, + { + .ifnum = 2, + .type = QUIRK_AUDIO_EDIROL_UA700_UA25 + }, + { + .ifnum = -1 + } + } + } +}, /* Midiman/M-Audio devices */ {