Skip to content

Commit

Permalink
ALSA: usb-audio: Add quirks for Audio Kontrol 6
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Daniel Mack authored and Takashi Iwai committed Apr 14, 2011
1 parent e217b96 commit 9cdc352
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
17 changes: 17 additions & 0 deletions sound/usb/mixer_quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 6 additions & 0 deletions sound/usb/quirks-table.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions sound/usb/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 9cdc352

Please sign in to comment.