[PATCH 00/14] usb: gadget: refactor to allow easier extension

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Apr 12 23:34:48 BST 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 machine 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.
Let me know if I should split up the series.

Cheers,
Ahmad Fatoum (14):
  show_progress: add system wide progress stage notifier
  common: console: add log_dprint to print to file descriptor
  string: implement strstarts along with strends
  vsprintf: introduce %m shorthand for "%s", strerror(errno)
  param: introduce file-list parameter type
  common: add generic machine 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
  fastboot/dfu: use machine 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

 common/Kconfig               | 15 ++++--
 common/Makefile              |  3 +-
 common/bbu.c                 | 24 ++++++----
 common/console_common.c      | 15 ++++++
 common/fastboot.c            | 28 ++++--------
 common/file-list.c           | 82 +++++++++++++++++++++++++++++++++
 common/machine-partitions.c  | 44 ++++++++++++++++++
 common/usbgadget.c           | 81 ++++++++++++++++++---------------
 drivers/usb/gadget/Kconfig   |  2 -
 drivers/usb/gadget/dfu.c     |  3 +-
 drivers/usb/gadget/multi.c   | 12 +++++
 include/bbu.h                | 10 +++-
 include/fastboot.h           |  6 +--
 include/file-list.h          | 12 +++++
 include/linux/string.h       | 10 ++++
 include/machine-partitions.h | 40 ++++++++++++++++
 include/of.h                 |  5 ++
 include/param.h              | 15 ++++++
 include/printk.h             |  1 +
 include/progress.h           | 43 ++++++++++++++++++
 include/string.h             |  1 +
 include/stringlist.h         |  1 +
 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, 552 insertions(+), 81 deletions(-)
 create mode 100644 common/machine-partitions.c
 create mode 100644 include/machine-partitions.h

-- 
2.29.2




More information about the barebox mailing list