Skip to content

Commit

Permalink
usb: gadget: f_fs: add usb_functionfs_descs_head_v2 structure
Browse files Browse the repository at this point in the history
The structure can be used with user space tools that use the new
functionfs description format, for example as follows:

static const struct {
	struct usb_functionfs_descs_head_v2 header;
	__le32 fs_count;
	__le32 hs_count;
	struct {
		…
	} fs_desc;
	struct {
		…
	} hs_desc;
} descriptors = {
	.header = {
		.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2),
		.length = cpu_to_le32(sizeof(descriptors)),
		.flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC |
				     FUNCTIONFS_HAS_HS_DESC)
	},
	.fs_count = cpu_to_le32(X),
	.fs_desc = {
		…
	},
	.hs_count = cpu_to_le32(Y),
	.hs_desc = {
		…
	}
};

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
mina86 authored and Felipe Balbi committed Sep 2, 2014
1 parent be0a888 commit 1df22b4
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions include/uapi/linux/usb/functionfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@ struct usb_endpoint_descriptor_no_audio {
__u8 bInterval;
} __attribute__((packed));

struct usb_functionfs_descs_head_v2 {
__le32 magic;
__le32 length;
__le32 flags;
/*
* __le32 fs_count, hs_count, fs_count; must be included manually in
* the structure taking flags into consideration.
*/
} __attribute__((packed));

/* Legacy format, deprecated as of 3.14. */
struct usb_functionfs_descs_head {
__le32 magic;
Expand Down

0 comments on commit 1df22b4

Please sign in to comment.