diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2005-11-21 16:40:00 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-03 12:29:32 +0100 |
commit | 1f14a657d87aa0e1a6c08c2e31588fbca34a8844 (patch) | |
tree | 74fde07268a93952b1b9caa79efbc42042bb501f /sound/usb | |
parent | 2e5b9567f7444673a93cbacdcbeb3feacdb4914f (diff) | |
download | op-kernel-dev-1f14a657d87aa0e1a6c08c2e31588fbca34a8844.zip op-kernel-dev-1f14a657d87aa0e1a6c08c2e31588fbca34a8844.tar.gz |
[ALSA] usb-audio: fix Edirol UA-20 support
Modules: USB generic driver
Somebody at Edirol fucked up and released a new revision of the UA-20
without class-specific descriptors, so now we have to hard-code the
sample format.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/usbquirks.h | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 0e05754..6190ada 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h @@ -665,16 +665,50 @@ YAMAHA_DEVICE(0x7010, "UB99"), .type = QUIRK_COMPOSITE, .data = (const struct snd_usb_audio_quirk[]) { { + .ifnum = 0, + .type = QUIRK_IGNORE_INTERFACE + }, + { .ifnum = 1, - .type = QUIRK_AUDIO_STANDARD_INTERFACE + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = & (const struct audioformat) { + .format = SNDRV_PCM_FORMAT_S24_3LE, + .channels = 2, + .iface = 1, + .altsetting = 1, + .altset_idx = 1, + .attributes = 0, + .endpoint = 0x01, + .ep_attr = 0x01, + .rates = SNDRV_PCM_RATE_CONTINUOUS, + .rate_min = 44100, + .rate_max = 44100, + } }, { .ifnum = 2, - .type = QUIRK_AUDIO_STANDARD_INTERFACE + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = & (const struct audioformat) { + .format = SNDRV_PCM_FORMAT_S24_3LE, + .channels = 2, + .iface = 2, + .altsetting = 1, + .altset_idx = 1, + .attributes = 0, + .endpoint = 0x82, + .ep_attr = 0x01, + .rates = SNDRV_PCM_RATE_CONTINUOUS, + .rate_min = 44100, + .rate_max = 44100, + } }, { .ifnum = 3, - .type = QUIRK_MIDI_STANDARD_INTERFACE + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = & (const struct snd_usb_midi_endpoint_info) { + .out_cables = 0x0001, + .in_cables = 0x0001 + } }, { .ifnum = -1 |