summaryrefslogtreecommitdiff
path: root/sound/usb/mixer_quirks.c
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2011-04-11 17:56:32 +0200
committerTakashi Iwai <tiwai@suse.de>2011-04-14 12:06:02 +0200
commit9cdc352936311eea55624cbabafda296b99ff137 (patch)
tree5ad4423410d7aca8da0e8bf3c40c40d24aeb6d73 /sound/usb/mixer_quirks.c
parente217b960e4f82610946fcad764b8af017a4811c0 (diff)
ALSA: usb-audio: Add quirks for Audio Kontrol 6
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>
Diffstat (limited to 'sound/usb/mixer_quirks.c')
-rw-r--r--sound/usb/mixer_quirks.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index 73dcc8256bc0..4a7ad7ed62f7 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -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,