tree 1eea6ae95c6e54202e674a66306a8763df924166
parent d06e4c4001cf26147a6af0718703368944f0df32
author Clemens Ladisch <[EMAIL PROTECTED]> Mon, 25 Jul 2005 16:17:29 +0200
committer Jaroslav Kysela <[EMAIL PROTECTED]> Thu, 28 Jul 2005 12:22:37 +0200
[ALSA] usb-audio - add support for Miditech USB MIDI keyboards
USB generic driver
Add support for Miditech Midistart and MidiStudio keyboards (another
case of devices using the standard protocol but having no descriptors).
Signed-off-by: Clemens Ladisch <[EMAIL PROTECTED]>
sound/usb/usbaudio.c | 1 +
sound/usb/usbaudio.h | 3 +++
sound/usb/usbmidi.c | 3 +++
sound/usb/usbquirks.h | 19 +++++++++++++++++++
4 files changed, 26 insertions(+)
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -2972,6 +2972,7 @@ static int snd_usb_create_quirk(snd_usb_
case QUIRK_MIDI_NOVATION:
case QUIRK_MIDI_RAW:
case QUIRK_MIDI_EMAGIC:
+ case QUIRK_MIDI_MIDITECH:
return snd_usb_create_midi_interface(chip, iface, quirk);
case QUIRK_COMPOSITE:
return create_composite_quirk(chip, iface, quirk);
diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h
--- a/sound/usb/usbaudio.h
+++ b/sound/usb/usbaudio.h
@@ -167,6 +167,7 @@ struct snd_usb_audio {
#define QUIRK_MIDI_NOVATION 10
#define QUIRK_MIDI_RAW 11
#define QUIRK_MIDI_EMAGIC 12
+#define QUIRK_MIDI_MIDITECH 13
typedef struct snd_usb_audio_quirk snd_usb_audio_quirk_t;
typedef struct snd_usb_midi_endpoint_info snd_usb_midi_endpoint_info_t;
@@ -210,6 +211,8 @@ struct snd_usb_midi_endpoint_info {
/* for QUIRK_MIDI_EMAGIC, data points to a snd_usb_midi_endpoint_info
* structure (out_cables and in_cables only) */
+/* for QUIRK_MIDI_MIDITECH, data is NULL */
+
/*
*/
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
--- a/sound/usb/usbmidi.c
+++ b/sound/usb/usbmidi.c
@@ -1515,6 +1515,9 @@ int snd_usb_create_midi_interface(snd_us
sizeof(snd_usb_midi_endpoint_info_t));
err = snd_usbmidi_detect_endpoints(umidi,
&endpoints[0], 1);
break;
+ case QUIRK_MIDI_MIDITECH:
+ err = snd_usbmidi_detect_per_port_endpoints(umidi,
endpoints);
+ break;
default:
snd_printd(KERN_ERR "invalid quirk type %d\n",
quirk->type);
err = -ENXIO;
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h
--- a/sound/usb/usbquirks.h
+++ b/sound/usb/usbquirks.h
@@ -1379,6 +1379,25 @@ YAMAHA_DEVICE(0x7010, "UB99"),
},
{
+ USB_DEVICE(0x4752, 0x0011),
+ .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+ .vendor_name = "Miditech",
+ .product_name = "Midistart-2",
+ .ifnum = 0,
+ .type = QUIRK_MIDI_MIDITECH
+ }
+},
+{
+ USB_DEVICE(0x7104, 0x2202),
+ .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+ .vendor_name = "Miditech",
+ .product_name = "MidiStudio-2",
+ .ifnum = 0,
+ .type = QUIRK_MIDI_MIDITECH
+ }
+},
+
+{
/*
* Some USB MIDI devices don't have an audio control interface,
* so we have to grab MIDI streaming interfaces here.
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html