v3 -> v4: - change bthreads to be scheduled like workqueues instead of pollers - change virtio input from bthread to poller - add useful bthread debug print v2 -> v3: - rebase on v3 of the preparatory system partitions series - have usbgadget -S '' fallback to use $global.system.partitions - do file_list_detect_all at gadget instantiation time v1 -> v2: - rebase on top of new bthread API - drop blocking fallback implementation; we now have bthreads everywhere - reuse $global.system.partitions instead of creating even more autostart variables - fix assert_command_context to actually do what the commit message said Ahmad Fatoum (8): input: virtio: poll from poller, not bthread bthread: add debug print for scheduler context switches common: move workqueue handling from poller_call() to sched() common: bthread: schedule only in command context bthread: implement basic Linux-like completion API Documentation: devel: background-execution: update bthread docs usbgadget: refactor usbgadget_register to accept array usbgadget: add support for USB mass storage gadget Documentation/devel/background-execution.rst | 34 +- Documentation/user/usb.rst | 5 + commands/bthread.c | 5 + commands/usbgadget.c | 29 +- common/Kconfig | 5 + common/Makefile | 1 + common/bthread.c | 5 +- common/poller.c | 23 +- common/sched.c | 26 + common/usbgadget.c | 36 +- drivers/input/Kconfig | 3 +- drivers/input/virtio_input.c | 45 +- drivers/usb/gadget/Kconfig | 15 +- drivers/usb/gadget/Makefile | 1 + drivers/usb/gadget/f_mass_storage.c | 2725 ++++++++++++++++++ drivers/usb/gadget/multi.c | 36 + drivers/usb/gadget/storage_common.c | 173 ++ drivers/usb/gadget/storage_common.h | 245 ++ include/linux/completion.h | 55 + include/poller.h | 8 +- include/sched.h | 10 +- include/scsi.h | 12 + include/slice.h | 8 +- include/usb/gadget-multi.h | 21 +- include/usb/mass_storage.h | 28 + include/usb/storage.h | 87 + 26 files changed, 3534 insertions(+), 107 deletions(-) create mode 100644 common/sched.c create mode 100644 drivers/usb/gadget/f_mass_storage.c create mode 100644 drivers/usb/gadget/storage_common.c create mode 100644 drivers/usb/gadget/storage_common.h create mode 100644 include/linux/completion.h create mode 100644 include/usb/mass_storage.h create mode 100644 include/usb/storage.h -- 2.29.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox