aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-07 20:07:31 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-07 20:07:31 -0400
commitfaa38b5e0e092914764cdba9f83d31a3f794d182 (patch)
treeb3e5921bdc36378033b4910eb4f29cb0dfc486e0 /include/linux/usb
parent78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c (diff)
parent74bf40f0793fed9e01eb6164c2ce63e8c27ca205 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits) ALSA: hda - Add pin-fix for HP dc5750 ALSA: als4000: Fix potentially invalid DMA mode setup ALSA: als4000: enable burst mode ALSA: hda - Fix initial capsrc selection in patch_alc269() ASoC: TWL4030: Capture route runtime DAPM ordering fix ALSA: hda - Add PC-beep whitelist for an Intel board ALSA: hda - More relax for pending period handling ALSA: hda - Define AC_FMT_* constants ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs ALSA: hda - Add support for HDMI HBR passthrough ALSA: hda - Set Stream Type in Stream Format according to AES0 ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF ASoC: wm9081: fix resource reclaim in wm9081_register error path ASoC: wm8978: fix a memory leak if a wm8978_register fail ASoC: wm8974: fix a memory leak if another WM8974 is registered ASoC: wm8961: fix resource reclaim in wm8961_register error path ASoC: wm8955: fix resource reclaim in wm8955_register error path ASoC: wm8940: fix a memory leak if wm8940_register return error ASoC: wm8904: fix resource reclaim in wm8904_register error path ...
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/audio-v2.h17
-rw-r--r--include/linux/usb/audio.h12
2 files changed, 22 insertions, 7 deletions
diff --git a/include/linux/usb/audio-v2.h b/include/linux/usb/audio-v2.h
index 383b94ba8c20..964cb603f7c7 100644
--- a/include/linux/usb/audio-v2.h
+++ b/include/linux/usb/audio-v2.h
@@ -18,6 +18,21 @@
18/* v1.0 and v2.0 of this standard have many things in common. For the rest 18/* v1.0 and v2.0 of this standard have many things in common. For the rest
19 * of the definitions, please refer to audio.h */ 19 * of the definitions, please refer to audio.h */
20 20
21/*
22 * bmControl field decoders
23 *
24 * From the USB Audio spec v2.0:
25 *
26 * bmaControls() is a (ch+1)-element array of 4-byte bitmaps,
27 * each containing a set of bit pairs. If a Control is present,
28 * it must be Host readable. If a certain Control is not
29 * present then the bit pair must be set to 0b00.
30 * If a Control is present but read-only, the bit pair must be
31 * set to 0b01. If a Control is also Host programmable, the bit
32 * pair must be set to 0b11. The value 0b10 is not allowed.
33 *
34 */
35
21static inline bool uac2_control_is_readable(u32 bmControls, u8 control) 36static inline bool uac2_control_is_readable(u32 bmControls, u8 control)
22{ 37{
23 return (bmControls >> (control * 2)) & 0x1; 38 return (bmControls >> (control * 2)) & 0x1;
@@ -121,7 +136,7 @@ struct uac2_feature_unit_descriptor {
121 136
122/* 4.9.2 Class-Specific AS Interface Descriptor */ 137/* 4.9.2 Class-Specific AS Interface Descriptor */
123 138
124struct uac_as_header_descriptor_v2 { 139struct uac2_as_header_descriptor {
125 __u8 bLength; 140 __u8 bLength;
126 __u8 bDescriptorType; 141 __u8 bDescriptorType;
127 __u8 bDescriptorSubtype; 142 __u8 bDescriptorSubtype;
diff --git a/include/linux/usb/audio.h b/include/linux/usb/audio.h
index c51200c715e5..a54b8255d75f 100644
--- a/include/linux/usb/audio.h
+++ b/include/linux/usb/audio.h
@@ -39,8 +39,8 @@
39#define UAC_MIXER_UNIT 0x04 39#define UAC_MIXER_UNIT 0x04
40#define UAC_SELECTOR_UNIT 0x05 40#define UAC_SELECTOR_UNIT 0x05
41#define UAC_FEATURE_UNIT 0x06 41#define UAC_FEATURE_UNIT 0x06
42#define UAC_PROCESSING_UNIT_V1 0x07 42#define UAC1_PROCESSING_UNIT 0x07
43#define UAC_EXTENSION_UNIT_V1 0x08 43#define UAC1_EXTENSION_UNIT 0x08
44 44
45/* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */ 45/* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */
46#define UAC_AS_GENERAL 0x01 46#define UAC_AS_GENERAL 0x01
@@ -151,7 +151,7 @@
151 151
152/* Terminal Control Selectors */ 152/* Terminal Control Selectors */
153/* 4.3.2 Class-Specific AC Interface Descriptor */ 153/* 4.3.2 Class-Specific AC Interface Descriptor */
154struct uac_ac_header_descriptor_v1 { 154struct uac1_ac_header_descriptor {
155 __u8 bLength; /* 8 + n */ 155 __u8 bLength; /* 8 + n */
156 __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ 156 __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
157 __u8 bDescriptorSubtype; /* UAC_MS_HEADER */ 157 __u8 bDescriptorSubtype; /* UAC_MS_HEADER */
@@ -165,7 +165,7 @@ struct uac_ac_header_descriptor_v1 {
165 165
166/* As above, but more useful for defining your own descriptors: */ 166/* As above, but more useful for defining your own descriptors: */
167#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \ 167#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \
168struct uac_ac_header_descriptor_v1_##n { \ 168struct uac1_ac_header_descriptor_##n { \
169 __u8 bLength; \ 169 __u8 bLength; \
170 __u8 bDescriptorType; \ 170 __u8 bDescriptorType; \
171 __u8 bDescriptorSubtype; \ 171 __u8 bDescriptorSubtype; \
@@ -205,7 +205,7 @@ struct uac_input_terminal_descriptor {
205#define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01 205#define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01
206 206
207/* 4.3.2.2 Output Terminal Descriptor */ 207/* 4.3.2.2 Output Terminal Descriptor */
208struct uac_output_terminal_descriptor_v1 { 208struct uac1_output_terminal_descriptor {
209 __u8 bLength; /* in bytes: 9 */ 209 __u8 bLength; /* in bytes: 9 */
210 __u8 bDescriptorType; /* CS_INTERFACE descriptor type */ 210 __u8 bDescriptorType; /* CS_INTERFACE descriptor type */
211 __u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */ 211 __u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */
@@ -395,7 +395,7 @@ static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_desc
395} 395}
396 396
397/* 4.5.2 Class-Specific AS Interface Descriptor */ 397/* 4.5.2 Class-Specific AS Interface Descriptor */
398struct uac_as_header_descriptor_v1 { 398struct uac1_as_header_descriptor {
399 __u8 bLength; /* in bytes: 7 */ 399 __u8 bLength; /* in bytes: 7 */
400 __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ 400 __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
401 __u8 bDescriptorSubtype; /* AS_GENERAL */ 401 __u8 bDescriptorSubtype; /* AS_GENERAL */