From patchwork Thu Jan 8 05:34:16 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Bonser X-Patchwork-Id: 5591031 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8647C9F2ED for ; Thu, 8 Jan 2015 05:34:39 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BD8AA2037D for ; Thu, 8 Jan 2015 05:34:38 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 6256A20375 for ; Thu, 8 Jan 2015 05:34:36 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id DFCFF26532C; Thu, 8 Jan 2015 06:34:34 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id C133B2652F1; Thu, 8 Jan 2015 06:34:26 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id A4B462652F5; Thu, 8 Jan 2015 06:34:25 +0100 (CET) Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by alsa0.perex.cz (Postfix) with ESMTP id AF6B82652E1 for ; Thu, 8 Jan 2015 06:34:18 +0100 (CET) Received: by mail-oi0-f49.google.com with SMTP id a141so6051104oig.8 for ; Wed, 07 Jan 2015 21:34:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :content-type:content-transfer-encoding; bh=CocZvSjdBGc0W4T63a0oJw0IWKoeoIvRGRO1uYQA4EU=; b=yzozkFpns6aswcWM5u4/w4mLh4+48Tn9Jwk/k0djyFrPyefSUrL4uMk4iekA+vr0Ds vloqMTTVvxXxAGMgWNIqdYgK18j6k8Hn4vVFOuqkuhJVGQXRWM8NjHH+5M4IwcXlxOfs kOe8SY+qSYnPS95HE517jqvDxSWGN8eeCw1A01UmCF1GfG4am83TqEUoNv21n5pDGt46 hV/f4YIiqetM7QEYfVgnoKYkG0w0xzaw3WTuKzQGxA0+RGG4IfFy3fpbsMR5x59KI8oO P5awDG/UnLkCUM9nYvDq+UPDvETu2Q6wx/fo4QTZbOvT/ywUNnConmuIoVgIoR2xIEFM 1DXg== X-Received: by 10.182.236.104 with SMTP id ut8mr4415609obc.11.1420695257274; Wed, 07 Jan 2015 21:34:17 -0800 (PST) Received: from [192.168.1.141] (cpe-24-27-61-241.austin.res.rr.com. [24.27.61.241]) by mx.google.com with ESMTPSA id ml6sm2252186oeb.11.2015.01.07.21.34.16 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jan 2015 21:34:16 -0800 (PST) Message-ID: <54AE16D8.6080302@gmail.com> Date: Wed, 07 Jan 2015 23:34:16 -0600 From: Paul Bonser User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Jaroslav Kysela , Takashi Iwai Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [alsa-devel] [PATCH v2] ALSA: usb-audio: Add support for Akai MPC Element USB MIDI controller X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Paul Bonser 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 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 + } + } + } +}, + /* TerraTec devices */ { USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012),