summaryrefslogtreecommitdiffstats
path: root/sound/usb/usbaudio.h
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2010-02-22 23:49:10 +0100
committerTakashi Iwai <tiwai@suse.de>2010-02-23 08:40:20 +0100
commit8fee4aff8c89c229593b76a6ab172a9cad24b412 (patch)
treefa04320ed558000ee0e131808e14698ddd4fe3ce /sound/usb/usbaudio.h
parentALSA: usbaudio: parse USB descriptors with structs (diff)
downloadlinux-8fee4aff8c89c229593b76a6ab172a9cad24b412.tar.xz
linux-8fee4aff8c89c229593b76a6ab172a9cad24b412.zip
ALSA: usbaudio: introduce new types for audio class v2
This patch adds some definitions for audio class v2. Unfortunately, the UNIT types PROCESSING_UNIT and EXTENSION_UNIT have different numerical representations in both standards, so there is need for a _V1 add-on now. usbmixer.c is changed accordingly. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/usbaudio.h')
-rw-r--r--sound/usb/usbaudio.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h
index 9d8cea48fc5f..4f482939e8e8 100644
--- a/sound/usb/usbaudio.h
+++ b/sound/usb/usbaudio.h
@@ -36,8 +36,17 @@
#define MIXER_UNIT 0x04
#define SELECTOR_UNIT 0x05
#define FEATURE_UNIT 0x06
-#define PROCESSING_UNIT 0x07
-#define EXTENSION_UNIT 0x08
+#define PROCESSING_UNIT_V1 0x07
+#define EXTENSION_UNIT_V1 0x08
+
+/* audio class v2 */
+#define EFFECT_UNIT 0x07
+#define PROCESSING_UNIT_V2 0x08
+#define EXTENSION_UNIT_V2 0x09
+#define CLOCK_SOURCE 0x0a
+#define CLOCK_SELECTOR 0x0b
+#define CLOCK_MULTIPLIER 0x0c
+#define SAMPLE_RATE_CONVERTER 0x0d
#define AS_GENERAL 0x01
#define FORMAT_TYPE 0x02
@@ -60,7 +69,7 @@
#define EP_CS_ATTR_PITCH_CONTROL 0x02
#define EP_CS_ATTR_FILL_MAX 0x80
-/* Audio Class specific Request Codes */
+/* Audio Class specific Request Codes (v1) */
#define SET_CUR 0x01
#define GET_CUR 0x81
@@ -74,6 +83,10 @@
#define GET_MEM 0x85
#define GET_STAT 0xff
+/* Audio Class specific Request Codes (v2) */
+#define CS_CUR 0x01
+#define CS_RANGE 0x02
+
/* Terminal Control Selectors */
#define COPY_PROTECT_CONTROL 0x01