summaryrefslogtreecommitdiff
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-06-22 23:41:04 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-22 23:41:03 -0700
commit6c27d8d8b7fe8916d436b3db4ce67ef9ba9c8f23 (patch)
tree2481c9212cab610b65617a9932e3db3c6fff9032 /include/uapi/linux
parentc7572d54add260a1416b8411ac6ac21ccdd6e441 (diff)
parent58e69aad4486408aea8cffbabc4155fc85ac984c (diff)
Merge "usb: core: Add support to handle multi config audio device"
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/usb/ch9.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h
index 779a62aafafe..d3ab3f57aa9f 100644
--- a/include/uapi/linux/usb/ch9.h
+++ b/include/uapi/linux/usb/ch9.h
@@ -894,6 +894,29 @@ struct usb_ssp_cap_descriptor {
#define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */
} __attribute__((packed));
+/*
+ * Configuration Summary descriptors: Defines a list of functions in the
+ * configuration. This descriptor may be used by Host software to decide
+ * which Configuration to use to obtain the desired functionality.
+ */
+#define USB_CAP_TYPE_CONFIG_SUMMARY 0x10
+
+struct function_class_info {
+ __u8 bClass;
+ __u8 bSubClass;
+ __u8 bProtocol;
+};
+
+struct usb_config_summary_descriptor {
+ __u8 bLength;
+ __u8 bDescriptorType;
+ __u8 bDevCapabilityType;
+ __u16 bcdVersion;
+ __u8 bConfigurationValue;
+ __u8 bMaxPower;
+ __u8 bNumFunctions;
+ struct function_class_info cs_info[];
+} __attribute__((packed));
/*-------------------------------------------------------------------------*/