usb-gadget: Initial merge of target module for UASP + BOT
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Fri, 4 May 2012 02:51:36 +0000 (19:51 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 9 May 2012 22:25:59 +0000 (15:25 -0700)
commitc52661d60f636d17e26ad834457db333bd1df494
treeaae98b77a08e526e69f7840932ef6b70a6cfd0e9
parentd5dc28eb92f2a2305a02cb3a5f1ed36542d47512
usb-gadget: Initial merge of target module for UASP + BOT

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)

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>
drivers/usb/gadget/Kconfig
drivers/usb/gadget/Makefile
drivers/usb/gadget/tcm_usb_gadget.c [new file with mode: 0644]
drivers/usb/gadget/tcm_usb_gadget.h [new file with mode: 0644]