Re: [alsa-devel] [PATCH v2] ALSA: usb-audio: Add support for Akai MPC Element USB MIDI controller

From: Paul Bonser
Date: Thu Jan 08 2015 - 19:46:31 EST


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.
>>
>> Signed-off-by: Paul Bonser <misterpib@xxxxxxxxx>
>> ---
>> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
>> index 8590a32..e869b6c 100644
>> --- a/sound/usb/quirks-table.h
>> +++ b/sound/usb/quirks-table.h
>> @@ -2516,6 +2516,28 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>> }
>> },
>>
>> +{
>> + /* 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"

Adding the QUIRK_IGNORE_INTERFACE stops that.

>
>
> Regards,
> Clemens
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/