forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools: ffs-test: convert to new descriptor format fixing compilation …
…error Commit [ac8dde1: “usb: gadget: f_fs: Add flags to descriptors block”] which introduced a new descriptor format for FunctionFS removed the usb_functionfs_descs_head structure, which is still used by ffs-test. tool. Convert ffs-test by converting it to use the new header format. For testing kernels prior to 3.14 (when the new format was introduced) and parsing of the legacy headers in the new kernels, provide a compilation flag to make the tool use the old format. Finally, include information as to when the legacy FunctionFS headers format has been deprecated (which is also when the new one has been introduced). Reported-by: Lad, Prabhakar <[email protected]> Signed-off-by: Michal Nazarewicz <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
- Loading branch information
Showing
3 changed files
with
24 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
/* | ||
* 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 | ||
* Author: Michal Nazarewicz <[email protected]> | ||
|
@@ -21,6 +21,8 @@ | |
|
||
/* $(CROSS_COMPILE)cc -Wall -Wextra -g -o ffs-test ffs-test.c -lpthread */ | ||
|
||
/* Uncomment to make the tool use legacy FFS descriptor headers. */ | ||
/* #define USE_LEGACY_DESC_HEAD */ | ||
|
||
#define _BSD_SOURCE /* for endian.h */ | ||
|
||
|
@@ -106,15 +108,29 @@ static void _msg(unsigned level, const char *fmt, ...) | |
/******************** Descriptors and Strings *******************************/ | ||
|
||
static const struct { | ||
struct usb_functionfs_descs_head header; | ||
struct { | ||
__le32 magic; | ||
__le32 length; | ||
#ifndef USE_LEGACY_DESC_HEAD | ||
__le32 flags; | ||
#endif | ||
__le32 fs_count; | ||
__le32 hs_count; | ||
} __attribute__((packed)) header; | ||
struct { | ||
struct usb_interface_descriptor intf; | ||
struct usb_endpoint_descriptor_no_audio sink; | ||
struct usb_endpoint_descriptor_no_audio source; | ||
} __attribute__((packed)) fs_descs, hs_descs; | ||
} __attribute__((packed)) descriptors = { | ||
.header = { | ||
#ifdef USE_LEGACY_DESC_HEAD | ||
.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC), | ||
#else | ||
.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), | ||
.flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | | ||
FUNCTIONFS_HAS_HS_DESC), | ||
#endif | ||
.length = cpu_to_le32(sizeof descriptors), | ||
.fs_count = 3, | ||
.hs_count = 3, | ||
|