USB: gadget: f_accessory: New gadget driver for android USB accesories
authorMike Lockwood <lockwood@android.com>
Wed, 2 Feb 2011 16:52:56 +0000 (11:52 -0500)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:08:57 +0000 (12:08 -0800)
commitb547f4fc6a390b0e09fdc5fab2272d0b18995546
tree3bb60a05fb5c9d74c0eae3879f75f3887ee5df4a
parent1d3e084e948f9ef55f1fbfc49e6ae12ca2ee4510
USB: gadget: f_accessory: New gadget driver for android USB accesories

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Misc improvements and cleanup:

- Add URI string

- Replace type string with a description string

- Add a control call to retrieve accessory protocol version (currently 1)

- Driver read() and write() calls now fail after USB disconnect until
  driver file is closed and reopened.

- Misc cleanup work

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Clear accessory strings when USB is disconnected

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Clear previous strings on ACCESSORY_GET_PROTOCOL

Clearing strings on disconnect does not work since we may receive
a disconnect on some devices when transitioning into accessory mode.
We require an accessory to send ACCESSORY_GET_PROTOCOL before
sending any strings, so any strings from a previous session will be cleared.

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Clear disconnected flag when driver file is opened

Fixes a race condition that can occur when entering accessory mode.

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Add string for accessory's unique serial number

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: gadget: f_accessory: Set bNumEndpoints to correct value of 2

Change-Id: I24f4e36f196d45436e0573301500c3b93215953d
Signed-off-by: Mike Lockwood <lockwood@android.com>
drivers/usb/gadget/Kconfig
drivers/usb/gadget/Makefile
drivers/usb/gadget/android.c
drivers/usb/gadget/f_accessory.c [new file with mode: 0644]
include/linux/usb/f_accessory.h [new file with mode: 0644]