[alsa-devel] [PATCH v2] ALSA: usb-audio: Add support for Akai MPC Element USB MIDI controller
Takashi Iwai
tiwai at suse.de
Fri Jan 9 11:26:11 CET 2015
At Fri, 09 Jan 2015 09:48:42 +0100,
Clemens Ladisch wrote:
>
> Paul Bonser wrote:
> > On 01/08/2015 03:56 PM, Clemens Ladisch wrote:
> >> Paul Bonser wrote:
> >>> The Akai MPC Element incorrectly reports its bInterfaceClass as 255, but
> >>> otherwise implements the USB MIDI spec correctly.
> >>>
> >>> This adds a quirks-table.h entry which allows the device to be
> >>> recognized as a standard USB MIDI device.
> >>>
> >>> +++ b/sound/usb/quirks-table.h
> >>> +{
> >>> + /* Akai MPC Element */
> >>> + USB_DEVICE(0x09e8, 0x0021),
> >>> + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> >>> + .ifnum = QUIRK_ANY_INTERFACE,
> >>> + .type = QUIRK_COMPOSITE,
> >>> + .data = & (const struct snd_usb_audio_quirk[]) {
> >>> + {
> >>> + .ifnum = 0,
> >>> + .type = QUIRK_IGNORE_INTERFACE
> >>> + },
> >>> + {
> >>> + .ifnum = 1,
> >>> + .type = QUIRK_MIDI_STANDARD_INTERFACE
> >>> + },
> >>> + {
> >>> + .ifnum = -1
> >>> + }
> >>> + }
> >>> + }
> >>> +},
> >>
> >> Why a composite quirk? Does a single quirk entry not work?
> >
> > A single quirk entry results in an error message in dmesg:
> > "snd-usb-audio: probe of 3-2:1.0 failed with error -5"
>
> That message is normal for unhandled interfaces.
It's still not good to show a message, so using QUIRK_IGNORE_INTERFACE
is good enough as a workaround. So I applied it as is to for-next
branch now. Though...
> Does it actually prevent the device from working?
... it's still interesting why it needs a special handling. If we
find out more and have a better fix, let's put on top of the current
patch.
thanks,
Takashi
More information about the Alsa-devel
mailing list