Split Target based USB-Gadget driver (tcm_usb_gadget.c) into composite
driver (tcm_usb_gadget.c) and Function driver (f_tcm.c). This is
required for other composite drivers like Android to include Target
based USB function (UASP) along with other functions.
Composite drivers can include f_tcm.c like any other function and
register a callback function. This callback function is called
when Target Fabric is enabled via configfs. This callback can be
used to enable enumeration with host.
Change-Id: I36beea07bb3641a224694c157849ecec347d5943
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
This fabric uses the target framework to provide a usb gadget
device. This gadget supports the USB Attached SCSI Protocol (UASP)
and Bulk Only Transfers (BOT or BBB). BOT is the primary interface,
UAS is the alternative interface.
It has been tested with dummy_hcd on HS and SS. On SS USB3 are
supported. I also took my omap device and tried it there against
WindowsXP. UAS implements basic command passing (i.e. read/write
requests) and TASK MANAGEMENT functions are missing.
I had to add a little of error recovery to BOT because Windows was
issuing some strange commands and it does not complain after the
gadget responded with CSW.status=1.
(nab: Move to drivers/usb/gadget as per Sebastian to address legacy
limitations for built-in gadget code)
Change-Id: I493263c448625973725e6a6d624a3cafe8c27e45
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Felipe Balbi <balbi@ti.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
[pkondeti@codeaurora.org: resolved conflicts in Kconfig and Makefile]
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>