We're planning to have a use case with a custom USB device that implements the USB mass storage protocol on its bulk endpoints, but does not have the normal MSC class/protocol interface descriptors and does not support class-specific control requests (Get Max LUN and Bulk-Only Reset). We'd like to identify/enumerate the device via usb_generic_create() in our payload but then reuse all the normal MSC driver code. In order to make that possible, this patch factors a new usb_msc_force_init() function out of usb_msc_init() which will initialize an MSC device without checking its descriptors. It also adds some "quirks" flags that allow devices registered this way to customize behavior of the MSC stack. Change-Id: I50392128409cb2a879954f234149a5e3b060a229 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34227 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> |
||
|---|---|---|
| .. | ||
| dwc2.c | ||
| dwc2.h | ||
| dwc2_private.h | ||
| dwc2_rh.c | ||
| ehci.c | ||
| ehci.h | ||
| ehci_private.h | ||
| ehci_rh.c | ||
| generic_hub.c | ||
| generic_hub.h | ||
| Kconfig | ||
| ohci.c | ||
| ohci.h | ||
| ohci_private.h | ||
| ohci_rh.c | ||
| quirks.c | ||
| TODO | ||
| uhci.c | ||
| uhci.h | ||
| uhci_private.h | ||
| uhci_rh.c | ||
| usb.c | ||
| usb_dev.c | ||
| usbhid.c | ||
| usbhub.c | ||
| usbinit.c | ||
| usbmsc.c | ||
| xhci.c | ||
| xhci.h | ||
| xhci_commands.c | ||
| xhci_debug.c | ||
| xhci_devconf.c | ||
| xhci_events.c | ||
| xhci_private.h | ||
| xhci_rh.c | ||