History

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 ...

Linus Torvalds committed 12 years ago

Commit 3e75c6d2 parents cb15955 940ab8f156 files · +9148 −2183Browse files

Showing the changes to include/uapi/linux (2 of 156 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/usb/functionfs.h +30 −14
  2. include/uapi/linux/usbdevice_fs.h +11 −1
include/uapi/linux/usb/functionfs.h+30−14
@@ -10,9 +10,15 @@ · 9 unmodified lines
10 10
11enum {11enum {
12 FUNCTIONFS_DESCRIPTORS_MAGIC = 1,12 FUNCTIONFS_DESCRIPTORS_MAGIC = 1,
13 FUNCTIONFS_STRINGS_MAGIC = 213 FUNCTIONFS_STRINGS_MAGIC = 2,
14 FUNCTIONFS_DESCRIPTORS_MAGIC_V2 = 3,
14};15};
15 16
17enum 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
@@ -28,30 +34,40 @@ struct usb_endpoint_descriptor_no_audio { · 9 unmodified lines
28} __attribute__((packed));34} __attribute__((packed));
29 35
30 36
31/*
32 * All numbers must be in little endian order.
33 */
34
35struct usb_functionfs_descs_head {
36 __le32 magic;
37 __le32 length;
38 __le32 fs_count;
39 __le32 hs_count;
40} __attribute__((packed));
41
42/*37/*
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 * |-----+-----------------+------+--------------------------|
include/uapi/linux/usbdevice_fs.h+11−1
@@ -102,7 +102,10 @@ struct usbdevfs_urb { · 101 unmodified lines
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 { · 35 unmodified lines
144 char driver[USBDEVFS_MAXDRIVERNAME + 1];147 char driver[USBDEVFS_MAXDRIVERNAME + 1];
145};148};
146 149
150struct 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 { · 26 unmodified lines
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 */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t