diff options
| author | Takashi Iwai <tiwai@suse.de> | 2012-10-25 15:20:36 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2012-10-25 15:20:36 -0400 |
| commit | c64064ce9376a404e0888ca4a2985c8a4c16cec3 (patch) | |
| tree | f34d3b84ca970fdb381dad9a195c1367ce5d10f4 /include/uapi/linux/usb | |
| parent | 21b3de881b38a84002c07b1b4bfb91892644e83f (diff) | |
| parent | 456ba5a7802e58eccb5aa9751b3ab515ef99b9ca (diff) | |
Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.7
A couple of driver fixes, one that improves the interoperability of
WM8994 with controllers that are sensitive to extra BCLK cycles and some
build break fixes for ux500.
Diffstat (limited to 'include/uapi/linux/usb')
| -rw-r--r-- | include/uapi/linux/usb/Kbuild | 10 | ||||
| -rw-r--r-- | include/uapi/linux/usb/audio.h | 545 | ||||
| -rw-r--r-- | include/uapi/linux/usb/cdc.h | 412 | ||||
| -rw-r--r-- | include/uapi/linux/usb/ch11.h | 266 | ||||
| -rw-r--r-- | include/uapi/linux/usb/ch9.h | 993 | ||||
| -rw-r--r-- | include/uapi/linux/usb/functionfs.h | 169 | ||||
| -rw-r--r-- | include/uapi/linux/usb/g_printer.h | 35 | ||||
| -rw-r--r-- | include/uapi/linux/usb/gadgetfs.h | 88 | ||||
| -rw-r--r-- | include/uapi/linux/usb/midi.h | 112 | ||||
| -rw-r--r-- | include/uapi/linux/usb/tmc.h | 43 | ||||
| -rw-r--r-- | include/uapi/linux/usb/video.h | 568 |
11 files changed, 3241 insertions, 0 deletions
diff --git a/include/uapi/linux/usb/Kbuild b/include/uapi/linux/usb/Kbuild index aafaa5aa54d4..6cb4ea826834 100644 --- a/include/uapi/linux/usb/Kbuild +++ b/include/uapi/linux/usb/Kbuild | |||
| @@ -1 +1,11 @@ | |||
| 1 | # UAPI Header export list | 1 | # UAPI Header export list |
| 2 | header-y += audio.h | ||
| 3 | header-y += cdc.h | ||
| 4 | header-y += ch11.h | ||
| 5 | header-y += ch9.h | ||
| 6 | header-y += functionfs.h | ||
| 7 | header-y += g_printer.h | ||
| 8 | header-y += gadgetfs.h | ||
| 9 | header-y += midi.h | ||
| 10 | header-y += tmc.h | ||
| 11 | header-y += video.h | ||
diff --git a/include/uapi/linux/usb/audio.h b/include/uapi/linux/usb/audio.h new file mode 100644 index 000000000000..ac90037894d9 --- /dev/null +++ b/include/uapi/linux/usb/audio.h | |||
| @@ -0,0 +1,545 @@ | |||
| 1 | /* | ||
| 2 | * <linux/usb/audio.h> -- USB Audio definitions. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2006 Thumtronics Pty Ltd. | ||
| 5 | * Developed for Thumtronics by Grey Innovation | ||
| 6 | * Ben Williamson <ben.williamson@greyinnovation.com> | ||
| 7 | * | ||
| 8 | * This software is distributed under the terms of the GNU General Public | ||
| 9 | * License ("GPL") version 2, as published by the Free Software Foundation. | ||
| 10 | * | ||
| 11 | * This file holds USB constants and structures defined | ||
| 12 | * by the USB Device Class Definition for Audio Devices. | ||
| 13 | * Comments below reference relevant sections of that document: | ||
| 14 | * | ||
| 15 | * http://www.usb.org/developers/devclass_docs/audio10.pdf | ||
| 16 | * | ||
| 17 | * Types and defines in this file are either specific to version 1.0 of | ||
| 18 | * this standard or common for newer versions. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef _UAPI__LINUX_USB_AUDIO_H | ||
| 22 | #define _UAPI__LINUX_USB_AUDIO_H | ||
| 23 | |||
| 24 | #include <linux/types.h> | ||
| 25 | |||
| 26 | /* bInterfaceProtocol values to denote the version of the standard used */ | ||
| 27 | #define UAC_VERSION_1 0x00 | ||
| 28 | #define UAC_VERSION_2 0x20 | ||
| 29 | |||
| 30 | /* A.2 Audio Interface Subclass Codes */ | ||
| 31 | #define USB_SUBCLASS_AUDIOCONTROL 0x01 | ||
| 32 | #define USB_SUBCLASS_AUDIOSTREAMING 0x02 | ||
| 33 | #define USB_SUBCLASS_MIDISTREAMING 0x03 | ||
| 34 | |||
| 35 | /* A.5 Audio Class-Specific AC Interface Descriptor Subtypes */ | ||
| 36 | #define UAC_HEADER 0x01 | ||
| 37 | #define UAC_INPUT_TERMINAL 0x02 | ||
| 38 | #define UAC_OUTPUT_TERMINAL 0x03 | ||
| 39 | #define UAC_MIXER_UNIT 0x04 | ||
| 40 | #define UAC_SELECTOR_UNIT 0x05 | ||
| 41 | #define UAC_FEATURE_UNIT 0x06 | ||
| 42 | #define UAC1_PROCESSING_UNIT 0x07 | ||
| 43 | #define UAC1_EXTENSION_UNIT 0x08 | ||
| 44 | |||
| 45 | /* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */ | ||
| 46 | #define UAC_AS_GENERAL 0x01 | ||
| 47 | #define UAC_FORMAT_TYPE 0x02 | ||
| 48 | #define UAC_FORMAT_SPECIFIC 0x03 | ||
| 49 | |||
| 50 | /* A.7 Processing Unit Process Types */ | ||
| 51 | #define UAC_PROCESS_UNDEFINED 0x00 | ||
| 52 | #define UAC_PROCESS_UP_DOWNMIX 0x01 | ||
| 53 | #define UAC_PROCESS_DOLBY_PROLOGIC 0x02 | ||
| 54 | #define UAC_PROCESS_STEREO_EXTENDER 0x03 | ||
| 55 | #define UAC_PROCESS_REVERB 0x04 | ||
| 56 | #define UAC_PROCESS_CHORUS 0x05 | ||
| 57 | #define UAC_PROCESS_DYN_RANGE_COMP 0x06 | ||
| 58 | |||
| 59 | /* A.8 Audio Class-Specific Endpoint Descriptor Subtypes */ | ||
| 60 | #define UAC_EP_GENERAL 0x01 | ||
| 61 | |||
| 62 | /* A.9 Audio Class-Specific Request Codes */ | ||
| 63 | #define UAC_SET_ 0x00 | ||
| 64 | #define UAC_GET_ 0x80 | ||
| 65 | |||
| 66 | #define UAC__CUR 0x1 | ||
| 67 | #define UAC__MIN 0x2 | ||
| 68 | #define UAC__MAX 0x3 | ||
| 69 | #define UAC__RES 0x4 | ||
| 70 | #define UAC__MEM 0x5 | ||
| 71 | |||
| 72 | #define UAC_SET_CUR (UAC_SET_ | UAC__CUR) | ||
| 73 | #define UAC_GET_CUR (UAC_GET_ | UAC__CUR) | ||
| 74 | #define UAC_SET_MIN (UAC_SET_ | UAC__MIN) | ||
| 75 | #define UAC_GET_MIN (UAC_GET_ | UAC__MIN) | ||
| 76 | #define UAC_SET_MAX (UAC_SET_ | UAC__MAX) | ||
| 77 | #define UAC_GET_MAX (UAC_GET_ | UAC__MAX) | ||
| 78 | #define UAC_SET_RES (UAC_SET_ | UAC__RES) | ||
| 79 | #define UAC_GET_RES (UAC_GET_ | UAC__RES) | ||
| 80 | #define UAC_SET_MEM (UAC_SET_ | UAC__MEM) | ||
| 81 | #define UAC_GET_MEM (UAC_GET_ | UAC__MEM) | ||
| 82 | |||
| 83 | #define UAC_GET_STAT 0xff | ||
| 84 | |||
| 85 | /* A.10 Control Selector Codes */ | ||
| 86 | |||
| 87 | /* A.10.1 Terminal Control Selectors */ | ||
| 88 | #define UAC_TERM_COPY_PROTECT 0x01 | ||
| 89 | |||
| 90 | /* A.10.2 Feature Unit Control Selectors */ | ||
| 91 | #define UAC_FU_MUTE 0x01 | ||
| 92 | #define UAC_FU_VOLUME 0x02 | ||
| 93 | #define UAC_FU_BASS 0x03 | ||
| 94 | #define UAC_FU_MID 0x04 | ||
| 95 | #define UAC_FU_TREBLE 0x05 | ||
| 96 | #define UAC_FU_GRAPHIC_EQUALIZER 0x06 | ||
| 97 | #define UAC_FU_AUTOMATIC_GAIN 0x07 | ||
| 98 | #define UAC_FU_DELAY 0x08 | ||
| 99 | #define UAC_FU_BASS_BOOST 0x09 | ||
| 100 | #define UAC_FU_LOUDNESS 0x0a | ||
| 101 | |||
| 102 | #define UAC_CONTROL_BIT(CS) (1 << ((CS) - 1)) | ||
| 103 | |||
| 104 | /* A.10.3.1 Up/Down-mix Processing Unit Controls Selectors */ | ||
| 105 | #define UAC_UD_ENABLE 0x01 | ||
| 106 | #define UAC_UD_MODE_SELECT 0x02 | ||
| 107 | |||
| 108 | /* A.10.3.2 Dolby Prologic (tm) Processing Unit Controls Selectors */ | ||
| 109 | #define UAC_DP_ENABLE 0x01 | ||
| 110 | #define UAC_DP_MODE_SELECT 0x02 | ||
| 111 | |||
| 112 | /* A.10.3.3 3D Stereo Extender Processing Unit Control Selectors */ | ||
| 113 | #define UAC_3D_ENABLE 0x01 | ||
| 114 | #define UAC_3D_SPACE 0x02 | ||
| 115 | |||
| 116 | /* A.10.3.4 Reverberation Processing Unit Control Selectors */ | ||
| 117 | #define UAC_REVERB_ENABLE 0x01 | ||
| 118 | #define UAC_REVERB_LEVEL 0x02 | ||
| 119 | #define UAC_REVERB_TIME 0x03 | ||
| 120 | #define UAC_REVERB_FEEDBACK 0x04 | ||
| 121 | |||
| 122 | /* A.10.3.5 Chorus Processing Unit Control Selectors */ | ||
| 123 | #define UAC_CHORUS_ENABLE 0x01 | ||
| 124 | #define UAC_CHORUS_LEVEL 0x02 | ||
| 125 | #define UAC_CHORUS_RATE 0x03 | ||
| 126 | #define UAC_CHORUS_DEPTH 0x04 | ||
| 127 | |||
| 128 | /* A.10.3.6 Dynamic Range Compressor Unit Control Selectors */ | ||
| 129 | #define UAC_DCR_ENABLE 0x01 | ||
| 130 | #define UAC_DCR_RATE 0x02 | ||
| 131 | #define UAC_DCR_MAXAMPL 0x03 | ||
| 132 | #define UAC_DCR_THRESHOLD 0x04 | ||
| 133 | #define UAC_DCR_ATTACK_TIME 0x05 | ||
| 134 | #define UAC_DCR_RELEASE_TIME 0x06 | ||
| 135 | |||
| 136 | /* A.10.4 Extension Unit Control Selectors */ | ||
| 137 | #define UAC_XU_ENABLE 0x01 | ||
| 138 | |||
| 139 | /* MIDI - A.1 MS Class-Specific Interface Descriptor Subtypes */ | ||
| 140 | #define UAC_MS_HEADER 0x01 | ||
| 141 | #define UAC_MIDI_IN_JACK 0x02 | ||
| 142 | #define UAC_MIDI_OUT_JACK 0x03 | ||
| 143 | |||
| 144 | /* MIDI - A.1 MS Class-Specific Endpoint Descriptor Subtypes */ | ||
| 145 | #define UAC_MS_GENERAL 0x01 | ||
| 146 | |||
| 147 | /* Terminals - 2.1 USB Terminal Types */ | ||
| 148 | #define UAC_TERMINAL_UNDEFINED 0x100 | ||
| 149 | #define UAC_TERMINAL_STREAMING 0x101 | ||
| 150 | #define UAC_TERMINAL_VENDOR_SPEC 0x1FF | ||
| 151 | |||
| 152 | /* Terminal Control Selectors */ | ||
| 153 | /* 4.3.2 Class-Specific AC Interface Descriptor */ | ||
| 154 | struct uac1_ac_header_descriptor { | ||
| 155 | __u8 bLength; /* 8 + n */ | ||
| 156 | __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ | ||
| 157 | __u8 bDescriptorSubtype; /* UAC_MS_HEADER */ | ||
| 158 | __le16 bcdADC; /* 0x0100 */ | ||
| 159 | __le16 wTotalLength; /* includes Unit and Terminal desc. */ | ||
| 160 | __u8 bInCollection; /* n */ | ||
| 161 | __u8 baInterfaceNr[]; /* [n] */ | ||
| 162 | } __attribute__ ((packed)); | ||
| 163 | |||
| 164 | #define UAC_DT_AC_HEADER_SIZE(n) (8 + (n)) | ||
| 165 | |||
| 166 | /* As above, but more useful for defining your own descriptors: */ | ||
| 167 | #define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \ | ||
| 168 | struct uac1_ac_header_descriptor_##n { \ | ||
| 169 | __u8 bLength; \ | ||
| 170 | __u8 bDescriptorType; \ | ||
| 171 | __u8 bDescriptorSubtype; \ | ||
