Commit 51c208c7 authored by Michal Nazarewicz's avatar Michal Nazarewicz Committed by Felipe Balbi

tools: ffs-test: convert to new descriptor format

Since commit [ac8dde11: “Add flags to descriptors block”] functionfs
supports a new, more powerful and extensible, descriptor format.
Since ffs-test is probably the first thing users of the functionfs
interface see when they start writing functionfs user space daemons,
convert it to use the new format thus promoting it.
Signed-off-by: default avatarMichal Nazarewicz <mina86@mina86.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 1df22b4e
...@@ -102,7 +102,7 @@ struct usb_ext_prop_desc { ...@@ -102,7 +102,7 @@ struct usb_ext_prop_desc {
* structure. Any flags that are not recognised cause the whole block to be * structure. Any flags that are not recognised cause the whole block to be
* rejected with -ENOSYS. * rejected with -ENOSYS.
* *
* Legacy descriptors format: * Legacy descriptors format (deprecated as of 3.14):
* *
* | off | name | type | description | * | off | name | type | description |
* |-----+-----------+--------------+--------------------------------------| * |-----+-----------+--------------+--------------------------------------|
......
/* /*
* ffs-test.c.c -- user mode filesystem api for usb composite function * ffs-test.c -- user mode filesystem api for usb composite function
* *
* Copyright (C) 2010 Samsung Electronics * Copyright (C) 2010 Samsung Electronics
* Author: Michal Nazarewicz <mina86@mina86.com> * Author: Michal Nazarewicz <mina86@mina86.com>
...@@ -106,7 +106,9 @@ static void _msg(unsigned level, const char *fmt, ...) ...@@ -106,7 +106,9 @@ static void _msg(unsigned level, const char *fmt, ...)
/******************** Descriptors and Strings *******************************/ /******************** Descriptors and Strings *******************************/
static const struct { static const struct {
struct usb_functionfs_descs_head header; struct usb_functionfs_descs_head_v2 header;
__le32 fs_count;
__le32 hs_count;
struct { struct {
struct usb_interface_descriptor intf; struct usb_interface_descriptor intf;
struct usb_endpoint_descriptor_no_audio sink; struct usb_endpoint_descriptor_no_audio sink;
...@@ -114,11 +116,12 @@ static const struct { ...@@ -114,11 +116,12 @@ static const struct {
} __attribute__((packed)) fs_descs, hs_descs; } __attribute__((packed)) fs_descs, hs_descs;
} __attribute__((packed)) descriptors = { } __attribute__((packed)) descriptors = {
.header = { .header = {
.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC), .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2),
.flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC |
FUNCTIONFS_HAS_HS_DESC),
.length = cpu_to_le32(sizeof descriptors), .length = cpu_to_le32(sizeof descriptors),
.fs_count = cpu_to_le32(3),
.hs_count = cpu_to_le32(3),
}, },
.fs_count = cpu_to_le32(3),
.fs_descs = { .fs_descs = {
.intf = { .intf = {
.bLength = sizeof descriptors.fs_descs.intf, .bLength = sizeof descriptors.fs_descs.intf,
...@@ -142,6 +145,7 @@ static const struct { ...@@ -142,6 +145,7 @@ static const struct {
/* .wMaxPacketSize = autoconfiguration (kernel) */ /* .wMaxPacketSize = autoconfiguration (kernel) */
}, },
}, },
.hs_count = cpu_to_le32(3),
.hs_descs = { .hs_descs = {
.intf = { .intf = {
.bLength = sizeof descriptors.fs_descs.intf, .bLength = sizeof descriptors.fs_descs.intf,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment