mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
[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 <tiwai@suse.de>
This commit is contained in:
parent
34226c4239
commit
e03173fce2
2 changed files with 24 additions and 0 deletions
|
@ -1092,6 +1092,8 @@ static struct {
|
|||
{ USB_ID(0x086a, 0x0001), 8, "%s Broadcast" },
|
||||
{ USB_ID(0x086a, 0x0002), 8, "%s Broadcast" },
|
||||
{ USB_ID(0x086a, 0x0003), 4, "%s Broadcast" },
|
||||
/* Edirol UM-3ex */
|
||||
{ USB_ID(0x0582, 0x009a), 3, "%s Control" },
|
||||
};
|
||||
|
||||
static void snd_usbmidi_init_substream(struct snd_usb_midi* umidi,
|
||||
|
|
|
@ -203,6 +203,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) {
|
||||
|
|
Loading…
Reference in a new issue