diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 20:06:09 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 20:06:09 -0400 |
| commit | 3e75c6de1ac33fe3500f44573d9212dc82c99f59 (patch) | |
| tree | ef10932e204ba8a9885051b06d4524d284207d61 /include/uapi/linux | |
| parent | cb1595563880a81dab6eab9a5ecb4520d2e76077 (diff) | |
| parent | 940ab8f1ef9369da5b58a1bec6820bfd4a7b9042 (diff) | |
Merge tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB patches from Greg KH:
"Here's the big USB pull request for 3.15-rc1.
The normal set of patches, lots of controller driver updates, and a
smattering of individual USB driver updates as well.
All have been in linux-next for a while"
* tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (249 commits)
xhci: Transition maintainership to Mathias Nyman.
USB: disable reset-resume when USB_QUIRK_RESET is set
USB: unbind all interfaces before rebinding any
usb: phy: Add ulpi IDs for SMSC USB3320 and TI TUSB1210
usb: gadget: tcm_usb_gadget: stop format strings
usb: gadget: f_fs: add missing spinlock and mutex unlock
usb: gadget: composite: switch over to ERR_CAST()
usb: gadget: inode: switch over to memdup_user()
usb: gadget: f_subset: switch over to PTR_RET
usb: gadget: lpc32xx_udc: fix wrong clk_put() sequence
USB: keyspan: remove dead debugging code
USB: serial: add missing newlines to dev_<level> messages.
USB: serial: add missing braces
USB: serial: continue to write on errors
USB: serial: continue to read on errors
USB: serial: make bulk_out_size a lower limit
USB: cypress_m8: fix potential scheduling while atomic
devicetree: bindings: document lsi,zevio-usb
usb: chipidea: add support for USB OTG controller on LSI Zevio SoCs
usb: chipidea: imx: Use dev_name() for ci_hdrc name to distinguish USBs
...
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/usb/functionfs.h | 44 | ||||
| -rw-r--r-- | include/uapi/linux/usbdevice_fs.h | 12 |
2 files changed, 41 insertions, 15 deletions
diff --git a/include/uapi/linux/usb/functionfs.h b/include/uapi/linux/usb/functionfs.h index d6b01283f85c..2a4b4a72a4f9 100644 --- a/include/uapi/linux/usb/functionfs.h +++ b/include/uapi/linux/usb/functionfs.h | |||
| @@ -10,9 +10,15 @@ | |||
| 10 | 10 | ||
| 11 | enum { | 11 | enum { |
| 12 | FUNCTIONFS_DESCRIPTORS_MAGIC = 1, | 12 | FUNCTIONFS_DESCRIPTORS_MAGIC = 1, |
| 13 | FUNCTIONFS_STRINGS_MAGIC = 2 | 13 | FUNCTIONFS_STRINGS_MAGIC = 2, |
| 14 | FUNCTIONFS_DESCRIPTORS_MAGIC_V2 = 3, | ||
| 14 | }; | 15 | }; |
| 15 | 16 | ||
| 17 | enum functionfs_flags { | ||
| 18 | FUNCTIONFS_HAS_FS_DESC = 1, | ||
| 19 | FUNCTIONFS_HAS_HS_DESC = 2, | ||
| 20 | FUNCTIONFS_HAS_SS_DESC = 4, | ||
| 21 | }; | ||
| 16 | 22 | ||
| 17 | #ifndef __KERNEL__ | 23 | #ifndef __KERNEL__ |
| 18 | 24 | ||
| @@ -29,29 +35,39 @@ struct usb_endpoint_descriptor_no_audio { | |||
| 29 | 35 | ||
| 30 | 36 | ||
| 31 | /* | 37 | /* |
| 32 | * All numbers must be in little endian order. | ||
| 33 | */ | ||
| 34 | |||
| 35 | struct usb_functionfs_descs_head { | ||
| 36 | __le32 magic; | ||
| 37 | __le32 length; | ||
| 38 | __le32 fs_count; | ||
| 39 | __le32 hs_count; | ||
| 40 | } __attribute__((packed)); | ||
| 41 | |||
| 42 | /* | ||
| 43 | * Descriptors format: | 38 | * Descriptors format: |
| 44 | * | 39 | * |
| 45 | * | off | name | type | description | | 40 | * | off | name | type | description | |
| 46 | * |-----+-----------+--------------+--------------------------------------| | 41 | * |-----+-----------+--------------+--------------------------------------| |
| 47 | * | 0 | magic | LE32 | FUNCTIONFS_{FS,HS}_DESCRIPTORS_MAGIC | | 42 | * | 0 | magic | LE32 | FUNCTIONFS_DESCRIPTORS_MAGIC_V2 | |
| 43 | * | 4 | length | LE32 | length of the whole data chunk | | ||
| 44 | * | 8 | flags | LE32 | combination of functionfs_flags | | ||
| 45 | * | | fs_count | LE32 | number of full-speed descriptors | | ||
| 46 | * | | hs_count | LE32 | number of high-speed descriptors | | ||
| 47 | * | | ss_count | LE32 | number of super-speed descriptors | | ||
| 48 | * | | fs_descrs | Descriptor[] | list of full-speed descriptors | | ||
| 49 | * | | hs_descrs | Descriptor[] | list of high-speed descriptors | | ||
| 50 | * | | ss_descrs | Descriptor[] | list of super-speed descriptors | | ||
| 51 | * | ||
| 52 | * Depending on which flags are set, various fields may be missing in the | ||
| 53 | * structure. Any flags that are not recognised cause the whole block to be | ||
| 54 | * rejected with -ENOSYS. | ||
| 55 | * | ||
| 56 | * Legacy descriptors format: | ||
| 57 | * | ||
| 58 | * | off | name | type | description | | ||
| 59 | * |-----+-----------+--------------+--------------------------------------| | ||
| 60 | * | 0 | magic | LE32 | FUNCTIONFS_DESCRIPTORS_MAGIC | | ||
| 48 | * | 4 | length | LE32 | length of the whole data chunk | | 61 | * | 4 | length | LE32 | length of the whole data chunk | |
| 49 | * | 8 | fs_count | LE32 | number of full-speed descriptors | | 62 | * | 8 | fs_count | LE32 | number of full-speed descriptors | |
| 50 | * | 12 | hs_count | LE32 | number of high-speed descriptors | | 63 | * | 12 | hs_count | LE32 | number of high-speed descriptors | |
| 51 | * | 16 | fs_descrs | Descriptor[] | list of full-speed descriptors | | 64 | * | 16 | fs_descrs | Descriptor[] | list of full-speed descriptors | |
| 52 | * | | hs_descrs | Descriptor[] | list of high-speed descriptors | | 65 | * | | hs_descrs | Descriptor[] | list of high-speed descriptors | |
| 53 | * | 66 | * |
| 54 | * descs are just valid USB descriptors and have the following format: | 67 | * All numbers must be in little endian order. |
| 68 | * | ||
| 69 | * Descriptor[] is an array of valid USB descriptors which have the following | ||
| 70 | * format: | ||
| 55 | * | 71 | * |
| 56 | * | off | name | type | description | | 72 | * | off | name | type | description | |
| 57 | * |-----+-----------------+------+--------------------------| | 73 | * |-----+-----------------+------+--------------------------| |
diff --git a/include/uapi/linux/usbdevice_fs.h b/include/uapi/linux/usbdevice_fs.h index 0c65e4b12617..abe5f4bd4d82 100644 --- a/include/uapi/linux/usbdevice_fs.h +++ b/include/uapi/linux/usbdevice_fs.h | |||
| @@ -102,7 +102,10 @@ struct usbdevfs_urb { | |||
| 102 | int buffer_length; | 102 | int buffer_length; |
| 103 | int actual_length; | 103 | int actual_length; |
| 104 | int start_frame; | 104 | int start_frame; |
| 105 | int number_of_packets; | 105 | union { |
| 106 | int number_of_packets; /* Only used for isoc urbs */ | ||
| 107 | unsigned int stream_id; /* Only used with bulk streams */ | ||
| 108 | }; | ||
| 106 | int error_count; | 109 | int error_count; |
| 107 | unsigned int signr; /* signal to be sent on completion, | 110 | unsigned int signr; /* signal to be sent on completion, |
| 108 | or 0 if none should be sent. */ | 111 | or 0 if none should be sent. */ |
| @@ -144,6 +147,11 @@ struct usbdevfs_disconnect_claim { | |||
| 144 | char driver[USBDEVFS_MAXDRIVERNAME + 1]; | 147 | char driver[USBDEVFS_MAXDRIVERNAME + 1]; |
| 145 | }; | 148 | }; |
| 146 | 149 | ||
| 150 | struct usbdevfs_streams { | ||
| 151 | unsigned int num_streams; /* Not used by USBDEVFS_FREE_STREAMS */ | ||
| 152 | unsigned int num_eps; | ||
| 153 | unsigned char eps[0]; | ||
| 154 | }; | ||
| 147 | 155 | ||
| 148 | #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) | 156 | #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) |
| 149 | #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) | 157 | #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) |
| @@ -176,5 +184,7 @@ struct usbdevfs_disconnect_claim { | |||
| 176 | #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) | 184 | #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) |
| 177 | #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) | 185 | #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) |
| 178 | #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) | 186 | #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) |
| 187 | #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) | ||
| 188 | #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) | ||
| 179 | 189 | ||
| 180 | #endif /* _UAPI_LINUX_USBDEVICE_FS_H */ | 190 | #endif /* _UAPI_LINUX_USBDEVICE_FS_H */ |
