[PATCH 00/16] USB: gadget: refactor to allow easier extension
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon May 3 04:48:45 PDT 2021
There's some duplication between DFU and Fastboot and incoming USB
mass storage support as well as custom protocols that might be
implemented by board vendors could benefit from some consolidation.
This is added here in the form of system partitions, which is just
a way to have a machine-global file_list, that can be used as fallback
for fastboot, DFU, mass storage gadget, ... etc.
Some commits are not directly related and happened along the way.
v2 -> v3:
- squash fixups
- add new commit to ignore NULL in file_list_free
- reworked usbgadget_register logic, so usbgadget -D '' with no
DFU compiled in is not silently ignored
- fix error checking in file_list_detect_all
v1 -> v2:
- log_writefile(filename) instead of log_dprint(fd) (Sascha)
- rename $machine.partitions to $global.system.partitions (Sascha)
- add new commit fixing error with appending to files on ext4
Ahmad Fatoum (16):
show_progress: add system wide progress stage notifier
common: console: add log_writefile to write log into new file
string: implement strstarts along with strends
vsprintf: introduce %m shorthand for "%s", strerror(errno)
param: introduce file-list parameter type
common: add generic system partitions interface
fastboot: handle ill-named partitions gracefully
usb: gadget: dfu: change status message to info log level
usbgadget: autostart: fix indeterminism around usbgadget.autostart
usbgadget: allow DFU and Fastboot functions to coexist
file_list: make freeing a NULL pointer a no-op
fastboot/dfu: use system partitions as fall back
bbu: add function to directly add handlers into file_list
file_list: add file_list_detect_all()
common: make FILE_LIST feature unconditional
fs: error out when writing on read-only file system
common/Kconfig | 15 ++++--
common/Makefile | 3 +-
common/bbu.c | 24 ++++++----
common/console_common.c | 20 ++++++++
common/fastboot.c | 28 ++++-------
common/file-list.c | 85 +++++++++++++++++++++++++++++++++
common/system-partitions.c | 44 ++++++++++++++++++
common/usbgadget.c | 93 ++++++++++++++++++++++---------------
drivers/usb/gadget/Kconfig | 2 -
drivers/usb/gadget/dfu.c | 3 +-
drivers/usb/gadget/multi.c | 18 +++++--
fs/fs.c | 6 +--
include/bbu.h | 10 +++-
include/fastboot.h | 6 +--
include/file-list.h | 12 +++++
include/linux/string.h | 10 ++++
include/param.h | 15 ++++++
include/printk.h | 1 +
include/progress.h | 43 +++++++++++++++++
include/string.h | 1 +
include/stringlist.h | 1 +
include/system-partitions.h | 40 ++++++++++++++++
include/usb/gadget-multi.h | 1 +
lib/Kconfig | 6 +++
lib/parameter.c | 88 +++++++++++++++++++++++++++++++++++
lib/show_progress.c | 28 +++++++++++
lib/string.c | 9 ++++
lib/stringlist.c | 30 ++++++++++++
lib/vsprintf.c | 13 ++++++
net/Kconfig | 1 -
net/fastboot.c | 4 +-
31 files changed, 571 insertions(+), 89 deletions(-)
create mode 100644 common/system-partitions.c
create mode 100644 include/system-partitions.h
--
2.29.2
More information about the barebox
mailing list