diff options
-rw-r--r-- | include/uapi/linux/usb/functionfs.h | 2 | ||||
-rw-r--r-- | tools/usb/ffs-test.c | 14 |
2 files changed, 10 insertions, 6 deletions
diff --git a/include/uapi/linux/usb/functionfs.h b/include/uapi/linux/usb/functionfs.h index 3ca03de7c2a8..6d2a16b834bf 100644 --- a/include/uapi/linux/usb/functionfs.h +++ b/include/uapi/linux/usb/functionfs.h | |||
@@ -102,7 +102,7 @@ struct usb_ext_prop_desc { | |||
102 | * structure. Any flags that are not recognised cause the whole block to be | 102 | * structure. Any flags that are not recognised cause the whole block to be |
103 | * rejected with -ENOSYS. | 103 | * rejected with -ENOSYS. |
104 | * | 104 | * |
105 | * Legacy descriptors format: | 105 | * Legacy descriptors format (deprecated as of 3.14): |
106 | * | 106 | * |
107 | * | off | name | type | description | | 107 | * | off | name | type | description | |
108 | * |-----+-----------+--------------+--------------------------------------| | 108 | * |-----+-----------+--------------+--------------------------------------| |
diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c index a87e99f37c52..708d317b0f37 100644 --- a/tools/usb/ffs-test.c +++ b/tools/usb/ffs-test.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * ffs-test.c.c -- user mode filesystem api for usb composite function | 2 | * ffs-test.c -- user mode filesystem api for usb composite function |
3 | * | 3 | * |
4 | * Copyright (C) 2010 Samsung Electronics | 4 | * Copyright (C) 2010 Samsung Electronics |
5 | * Author: Michal Nazarewicz <mina86@mina86.com> | 5 | * Author: Michal Nazarewicz <mina86@mina86.com> |
@@ -106,7 +106,9 @@ static void _msg(unsigned level, const char *fmt, ...) | |||
106 | /******************** Descriptors and Strings *******************************/ | 106 | /******************** Descriptors and Strings *******************************/ |
107 | 107 | ||
108 | static const struct { | 108 | static const struct { |
109 | struct usb_functionfs_descs_head header; | 109 | struct usb_functionfs_descs_head_v2 header; |
110 | __le32 fs_count; | ||
111 | __le32 hs_count; | ||
110 | struct { | 112 | struct { |
111 | struct usb_interface_descriptor intf; | 113 | struct usb_interface_descriptor intf; |
112 | struct usb_endpoint_descriptor_no_audio sink; | 114 | struct usb_endpoint_descriptor_no_audio sink; |
@@ -114,11 +116,12 @@ static const struct { | |||
114 | } __attribute__((packed)) fs_descs, hs_descs; | 116 | } __attribute__((packed)) fs_descs, hs_descs; |
115 | } __attribute__((packed)) descriptors = { | 117 | } __attribute__((packed)) descriptors = { |
116 | .header = { | 118 | .header = { |
117 | .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC), | 119 | .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), |
120 | .flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | | ||
121 | FUNCTIONFS_HAS_HS_DESC), | ||
118 | .length = cpu_to_le32(sizeof descriptors), | 122 | .length = cpu_to_le32(sizeof descriptors), |
119 | .fs_count = cpu_to_le32(3), | ||
120 | .hs_count = cpu_to_le32(3), | ||
121 | }, | 123 | }, |
124 | .fs_count = cpu_to_le32(3), | ||
122 | .fs_descs = { | 125 | .fs_descs = { |
123 | .intf = { | 126 | .intf = { |
124 | .bLength = sizeof descriptors.fs_descs.intf, | 127 | .bLength = sizeof descriptors.fs_descs.intf, |
@@ -142,6 +145,7 @@ static const struct { | |||
142 | /* .wMaxPacketSize = autoconfiguration (kernel) */ | 145 | /* .wMaxPacketSize = autoconfiguration (kernel) */ |
143 | }, | 146 | }, |
144 | }, | 147 | }, |
148 | .hs_count = cpu_to_le32(3), | ||
145 | .hs_descs = { | 149 | .hs_descs = { |
146 | .intf = { | 150 | .intf = { |
147 | .bLength = sizeof descriptors.fs_descs.intf, | 151 | .bLength = sizeof descriptors.fs_descs.intf, |