aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb/audio-v2.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb/audio-v2.h')
-rw-r--r--include/linux/usb/audio-v2.h17
1 files changed, 16 insertions, 1 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;