aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/caiaq/caiaq-device.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2007-11-26 03:00:56 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:29 -0500
commit7829d0eccbddc7431cc9af662c7cd3442b5598bd (patch)
tree87ffa944084e528ecb643f5a96591a9b550c3f21 /sound/usb/caiaq/caiaq-device.c
parent389619f1063ed21cf237e2a8081be42e66d3c9a6 (diff)
[ALSA] usb-caiaq - add support for Kore controller 2
Added support for Native Instrument's Kore controller 2. This device has no audio but MIDI, input devices and ALSA controllers only. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/usb/caiaq/caiaq-device.c')
-rw-r--r--sound/usb/caiaq/caiaq-device.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c
index dc2e7f7fef0f..48c6bedfe0f2 100644
--- a/sound/usb/caiaq/caiaq-device.c
+++ b/sound/usb/caiaq/caiaq-device.c
@@ -43,11 +43,12 @@
43#endif 43#endif
44 44
45MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>"); 45MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
46MODULE_DESCRIPTION("caiaq USB audio, version 1.3.0"); 46MODULE_DESCRIPTION("caiaq USB audio, version 1.3.1");
47MODULE_LICENSE("GPL"); 47MODULE_LICENSE("GPL");
48MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2}," 48MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
49 "{Native Instruments, RigKontrol3}," 49 "{Native Instruments, RigKontrol3},"
50 "{Native Instruments, Kore Controller}," 50 "{Native Instruments, Kore Controller},"
51 "{Native Instruments, Kore Controller 2},"
51 "{Native Instruments, Audio Kontrol 1}" 52 "{Native Instruments, Audio Kontrol 1}"
52 "{Native Instruments, Audio 8 DJ}}"); 53 "{Native Instruments, Audio 8 DJ}}");
53 54
@@ -96,6 +97,11 @@ static struct usb_device_id snd_usb_id_table[] = {
96 .idProduct = USB_PID_KORECONTROLLER 97 .idProduct = USB_PID_KORECONTROLLER
97 }, 98 },
98 { 99 {
100 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
101 .idVendor = USB_VID_NATIVEINSTRUMENTS,
102 .idProduct = USB_PID_KORECONTROLLER2
103 },
104 {
99 .match_flags = USB_DEVICE_ID_MATCH_DEVICE, 105 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
100 .idVendor = USB_VID_NATIVEINSTRUMENTS, 106 .idVendor = USB_VID_NATIVEINSTRUMENTS,
101 .idProduct = USB_PID_AK1 107 .idProduct = USB_PID_AK1
@@ -291,13 +297,21 @@ static void setup_card(struct snd_usb_caiaqdev *dev)
291 break; 297 break;
292 } 298 }
293 299
294 ret = snd_usb_caiaq_audio_init(dev); 300 if (dev->spec.num_analog_audio_out +
295 if (ret < 0) 301 dev->spec.num_analog_audio_in +
296 log("Unable to set up audio system (ret=%d)\n", ret); 302 dev->spec.num_digital_audio_out +
303 dev->spec.num_digital_audio_in > 0) {
304 ret = snd_usb_caiaq_audio_init(dev);
305 if (ret < 0)
306 log("Unable to set up audio system (ret=%d)\n", ret);
307 }
297 308
298 ret = snd_usb_caiaq_midi_init(dev); 309 if (dev->spec.num_midi_in +
299 if (ret < 0) 310 dev->spec.num_midi_out > 0) {
300 log("Unable to set up MIDI system (ret=%d)\n", ret); 311 ret = snd_usb_caiaq_midi_init(dev);
312 if (ret < 0)
313 log("Unable to set up MIDI system (ret=%d)\n", ret);
314 }
301 315
302#ifdef CONFIG_SND_USB_CAIAQ_INPUT 316#ifdef CONFIG_SND_USB_CAIAQ_INPUT
303 ret = snd_usb_caiaq_input_init(dev); 317 ret = snd_usb_caiaq_input_init(dev);