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

Paul Bonser misterpib at gmail.com
Fri Jan 9 01:46:14 CET 2015


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 at gmail.com>
>> ---
>> 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
> 


More information about the Alsa-devel mailing list