aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-06-23 16:19:13 +0200
committerTakashi Iwai <tiwai@suse.de>2010-06-23 16:19:13 +0200
commit41d939e156cf469996f2753b78e089ca9f575897 (patch)
treec584492f5bd9f1d896b990329dd628de46eb99d4
parent8608be5e12d6960b68afc6a18480b3a938b668ac (diff)
downloadalsa-driver-build-unstable-41d939e156cf469996f2753b78e089ca9f575897.tar.gz
Fix build with the updated usb-audio stack
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--configure.in2
-rw-r--r--include/usb_audio_compat.h12
-rw-r--r--include/usb_audio_v2_compat.h17
3 files changed, 23 insertions, 8 deletions
diff --git a/configure.in b/configure.in
index b40ec4735..2fc11b0bc 100644
--- a/configure.in
+++ b/configure.in
@@ -2831,7 +2831,7 @@ if test -n "$CONFIG_USB"; then
#endif
#include <linux/usb/audio.h>
],[
- struct uac_as_header_descriptor_v1 tmp;
+ struct uac1_as_header_descriptor tmp;
struct uac1_status_word tmp2;
tmp.bLength = 0;
tmp2.bStatusType = 0;
diff --git a/include/usb_audio_compat.h b/include/usb_audio_compat.h
index c51200c71..a54b8255d 100644
--- a/include/usb_audio_compat.h
+++ b/include/usb_audio_compat.h
@@ -39,8 +39,8 @@
#define UAC_MIXER_UNIT 0x04
#define UAC_SELECTOR_UNIT 0x05
#define UAC_FEATURE_UNIT 0x06
-#define UAC_PROCESSING_UNIT_V1 0x07
-#define UAC_EXTENSION_UNIT_V1 0x08
+#define UAC1_PROCESSING_UNIT 0x07
+#define UAC1_EXTENSION_UNIT 0x08
/* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */
#define UAC_AS_GENERAL 0x01
@@ -151,7 +151,7 @@
/* Terminal Control Selectors */
/* 4.3.2 Class-Specific AC Interface Descriptor */
-struct uac_ac_header_descriptor_v1 {
+struct uac1_ac_header_descriptor {
__u8 bLength; /* 8 + n */
__u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
__u8 bDescriptorSubtype; /* UAC_MS_HEADER */
@@ -165,7 +165,7 @@ struct uac_ac_header_descriptor_v1 {
/* As above, but more useful for defining your own descriptors: */
#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \
-struct uac_ac_header_descriptor_v1_##n { \
+struct uac1_ac_header_descriptor_##n { \
__u8 bLength; \
__u8 bDescriptorType; \
__u8 bDescriptorSubtype; \
@@ -205,7 +205,7 @@ struct uac_input_terminal_descriptor {
#define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01
/* 4.3.2.2 Output Terminal Descriptor */
-struct uac_output_terminal_descriptor_v1 {
+struct uac1_output_terminal_descriptor {
__u8 bLength; /* in bytes: 9 */
__u8 bDescriptorType; /* CS_INTERFACE descriptor type */
__u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */
@@ -395,7 +395,7 @@ static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_desc
}
/* 4.5.2 Class-Specific AS Interface Descriptor */
-struct uac_as_header_descriptor_v1 {
+struct uac1_as_header_descriptor {
__u8 bLength; /* in bytes: 7 */
__u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
__u8 bDescriptorSubtype; /* AS_GENERAL */
diff --git a/include/usb_audio_v2_compat.h b/include/usb_audio_v2_compat.h
index 383b94ba8..964cb603f 100644
--- a/include/usb_audio_v2_compat.h
+++ b/include/usb_audio_v2_compat.h
@@ -18,6 +18,21 @@
/* v1.0 and v2.0 of this standard have many things in common. For the rest
* of the definitions, please refer to audio.h */
+/*
+ * bmControl field decoders
+ *
+ * From the USB Audio spec v2.0:
+ *
+ * bmaControls() is a (ch+1)-element array of 4-byte bitmaps,
+ * each containing a set of bit pairs. If a Control is present,
+ * it must be Host readable. If a certain Control is not
+ * present then the bit pair must be set to 0b00.
+ * If a Control is present but read-only, the bit pair must be
+ * set to 0b01. If a Control is also Host programmable, the bit
+ * pair must be set to 0b11. The value 0b10 is not allowed.
+ *
+ */
+
static inline bool uac2_control_is_readable(u32 bmControls, u8 control)
{
return (bmControls >> (control * 2)) & 0x1;
@@ -121,7 +136,7 @@ struct uac2_feature_unit_descriptor {
/* 4.9.2 Class-Specific AS Interface Descriptor */
-struct uac_as_header_descriptor_v2 {
+struct uac2_as_header_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubtype;