aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/caiaq/caiaq-device.h
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2007-11-22 05:40:04 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:28 -0500
commit8e3cd08ed8e590952aa9a656758cb24d4ba898f8 (patch)
tree162fa11dcaff39a1f5e2fff6f7f03670321a558d /sound/usb/caiaq/caiaq-device.h
parente5f73e2ae813aa216b480728548e5ffbebcc170a (diff)
[ALSA] caiaq - add control API and more input features
- added support for all input controllers on Native Instrument's 'Kore controller'. - added ALSA controls to switch LEDs on 'RigKontrol 2', 'RigKontrol3', 'Audio Kontrol 1' and 'Kore controller'. - added ALSA controls to switch input mode, software lock and ground lift features on 'Audio 8 DJ'. 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.h')
-rw-r--r--sound/usb/caiaq/caiaq-device.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/usb/caiaq/caiaq-device.h b/sound/usb/caiaq/caiaq-device.h
index 685761279f1a..310b10ebb605 100644
--- a/sound/usb/caiaq/caiaq-device.h
+++ b/sound/usb/caiaq/caiaq-device.h
@@ -35,6 +35,7 @@
35#define EP1_CMD_MIDI_WRITE 0x7 35#define EP1_CMD_MIDI_WRITE 0x7
36#define EP1_CMD_AUDIO_PARAMS 0x9 36#define EP1_CMD_AUDIO_PARAMS 0x9
37#define EP1_CMD_AUTO_MSG 0xb 37#define EP1_CMD_AUTO_MSG 0xb
38#define EP1_CMD_DIMM_LEDS 0xc
38 39
39struct caiaq_device_spec { 40struct caiaq_device_spec {
40 unsigned short fw_version; 41 unsigned short fw_version;
@@ -90,11 +91,14 @@ struct snd_usb_caiaqdev {
90 struct snd_pcm_substream *sub_playback[MAX_STREAMS]; 91 struct snd_pcm_substream *sub_playback[MAX_STREAMS];
91 struct snd_pcm_substream *sub_capture[MAX_STREAMS]; 92 struct snd_pcm_substream *sub_capture[MAX_STREAMS];
92 93
94 /* Controls */
95 unsigned char control_state[64];
96
93 /* Linux input */ 97 /* Linux input */
94#ifdef CONFIG_SND_USB_CAIAQ_INPUT 98#ifdef CONFIG_SND_USB_CAIAQ_INPUT
95 struct input_dev *input_dev; 99 struct input_dev *input_dev;
96 char phys[64]; /* physical device path */ 100 char phys[64]; /* physical device path */
97 unsigned short keycode[10]; 101 unsigned short keycode[64];
98#endif 102#endif
99 103
100 /* ALSA */ 104 /* ALSA */
@@ -114,6 +118,9 @@ struct snd_usb_caiaq_cb_info {
114 118
115int snd_usb_caiaq_set_audio_params (struct snd_usb_caiaqdev *dev, int rate, int depth, int bbp); 119int snd_usb_caiaq_set_audio_params (struct snd_usb_caiaqdev *dev, int rate, int depth, int bbp);
116int snd_usb_caiaq_set_auto_msg (struct snd_usb_caiaqdev *dev, int digital, int analog, int erp); 120int snd_usb_caiaq_set_auto_msg (struct snd_usb_caiaqdev *dev, int digital, int analog, int erp);
117 121int snd_usb_caiaq_send_command(struct snd_usb_caiaqdev *dev,
122 unsigned char command,
123 const unsigned char *buffer,
124 int len);
118 125
119#endif /* CAIAQ_DEVICE_H */ 126#endif /* CAIAQ_DEVICE_H */