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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox