ALSA: usb-audio: Add quirks for Audio Kontrol 6
authorDaniel Mack <zonque@gmail.com>
Mon, 11 Apr 2011 15:56:32 +0000 (17:56 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 14 Apr 2011 10:06:02 +0000 (12:06 +0200)
This new device by Native Instruments is also compliant to the USB
standard v2.0, but hides this detail at when connected.

It needs the same boot quirks than other models, and also has two
non-class-compliant mixer controls.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_quirks.c
sound/usb/quirks-table.h
sound/usb/quirks.c

index 73dcc8256bc0abbeeb2ebed24957e5ae7912b31d..4a7ad7ed62f7691bf175345467a40a15ad3e77f8 100644 (file)
@@ -398,6 +398,17 @@ static int snd_nativeinstruments_control_put(struct snd_kcontrol *kcontrol,
        return 0;
 }
 
+static struct snd_kcontrol_new snd_nativeinstruments_ak6_mixers[] = {
+       {
+               .name = "Direct Monitor Channel 1+2",
+               .private_value = _MAKE_NI_CONTROL(0x03, 0x03),
+       },
+       {
+               .name = "Direct Monitor Channel 3+4",
+               .private_value = _MAKE_NI_CONTROL(0x03, 0x05),
+       },
+};
+
 static struct snd_kcontrol_new snd_nativeinstruments_ta6_mixers[] = {
        {
                .name = "Direct Thru Channel A",
@@ -526,6 +537,12 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
                err = snd_xonar_u1_controls_create(mixer);
                break;
 
+       case USB_ID(0x17cc, 0x1001): /* Audio Kontrol 6 */
+               err = snd_nativeinstruments_create_mixer(mixer,
+                               snd_nativeinstruments_ak6_mixers,
+                               ARRAY_SIZE(snd_nativeinstruments_ak6_mixers));
+               break;
+
        case USB_ID(0x17cc, 0x1011): /* Traktor Audio 6 */
                err = snd_nativeinstruments_create_mixer(mixer,
                                snd_nativeinstruments_ta6_mixers,
index c66d3f64dcf89f6b5f0f59dea6cdbfd2b412bbb9..54e18c181a128dff956147ee946a39e0279278ff 100644 (file)
@@ -2331,6 +2331,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 },
 
 /* Native Instruments MK2 series */
+{
+       /* Audio Kontrol 6 */
+       .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
+       .idVendor = 0x17cc,
+       .idProduct = 0x1000,
+},
 {
        /* Traktor Audio 6 */
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
index 355759bad581057e8fefb8e78c36806fc6b5a9cc..2452edd2f1412ad8480a62b622dac3201bf28806 100644 (file)
@@ -539,6 +539,7 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev,
                /* Access Music VirusTI Desktop */
                return snd_usb_accessmusic_boot_quirk(dev);
 
+       case USB_ID(0x17cc, 0x1000): /* Audio Kontrol 6 */
        case USB_ID(0x17cc, 0x1010): /* Traktor Audio 6 */
        case USB_ID(0x17cc, 0x1020): /* Traktor Audio 10 */
                return snd_usb_nativeinstruments_boot_quirk(dev);