From e03173fce2f2c233b755f2d668d6d4247a717453 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Tue, 10 Jan 2006 14:27:20 +0100 Subject: [ALSA] Add support for EDIROL UM-3ex Modules: USB generic driver This is my naive attempt at adding ALSA device support. The attached patch provides support for the EDIROL UM-3ex. This is a 3-port USB midi interface with a built-in USB hub and the ability to chain 2 other UM-3x's in a master-slave configuration. I only have one, so I do not know how this works in practice. Though this is a 3-port device, I had to throw in that 4th 'Control' interface to the definition in order to make the 3rd port work. If I set in/out_cables to 0x000b, a 3rd interface appears on the driver, but it does nothing. Changing it to 0x000f allows the 3rd interface to work, but of course interface 4 does not work because it does not exist. Signed-off-by: Takashi Iwai --- sound/usb/usbquirks.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'sound/usb/usbquirks.h') diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 6190ada..8f34861 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h @@ -204,6 +204,28 @@ YAMAHA_DEVICE(0x7010, "UB99"), } }, { + USB_DEVICE(0x0582, 0x009a), + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { + .vendor_name = "EDIROL", + .product_name = "UM-3ex", + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = (const struct snd_usb_audio_quirk[]) { + { + .ifnum = 0, + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = & (const struct snd_usb_midi_endpoint_info) { + .out_cables = 0x000f, + .in_cables = 0x000f + } + }, + { + .ifnum = -1 + } + } + } +}, +{ USB_DEVICE(0x0582, 0x0002), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .vendor_name = "EDIROL", -- cgit v1.1