[PATCH v4 0/8] usbgadget: add support for USB mass storage gadget
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Jun 22 01:26:09 PDT 2021
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
More information about the barebox
mailing list