linux/drivers/usb/gadget
Andy Shevchenko a93917d39f USB: gadget: storage: optional SCSI WRITE FUA bit
MS Windows mounts removable storage in "Removal optimized mode" by
default. All the writes to the media are synchronous which is achieved
by setting FUA (Force Unit Access) bit in SCSI WRITE(10,12) commands.
This prevents I/O requests aggregation in block layer dramatically
decreasing performance.

This patch brings an option to accept or ignore mentioned bit
 a) via specifying module parameter "nofua", or
 b) through sysfs entry
	/sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua
	(_UDC_ is the name of the USB Device Controller driver)

Patch is based on the work that was done by Denis Karpov for Maemo 5
platform.

Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 14:35:42 -07:00
..
amd5536udc.c usb: amd5536udc: fixed shared interrupt bug and warning oops 2009-11-30 16:43:15 -08:00
amd5536udc.h
at91_udc.c ARM: 6209/3: at91_udc: Add vbus polarity and polling mode 2010-07-18 20:39:10 +01:00
at91_udc.h ARM: 6209/3: at91_udc: Add vbus polarity and polling mode 2010-07-18 20:39:10 +01:00
atmel_usba_udc.c USB: gadget: Use kmemdup 2010-05-20 13:21:49 -07:00
atmel_usba_udc.h USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
audio.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
cdc2.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
ci13xxx_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ci13xxx_udc.h
composite.c USB: gadget: composite: added disconnect callback 2010-08-10 14:35:37 -07:00
config.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
dbgp.c USB: EHCI Debug Port Device Gadget 2010-08-10 14:35:39 -07:00
dummy_hcd.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
epautoconf.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
ether.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_acm.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_audio.c ALSA: usb-audio: unify UAC macros and struct names 2010-06-23 16:09:26 +02:00
f_ecm.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_eem.c USB: gadget eth: Fix calculate CRC32 in EEM 2010-06-30 08:16:06 -07:00
f_fs.c USB: gadget: f_fs: use usb_string_ids_n() 2010-08-10 14:35:36 -07:00
f_hid.c USB: gadget: Remove unnecessary casts of private_data 2010-08-10 14:35:39 -07:00
f_loopback.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_mass_storage.c USB: gadget: f_mass_storage: added eject callback 2010-08-10 14:35:37 -07:00
f_obex.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_phonet.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_rndis.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_sourcesink.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_subset.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_uvc.c V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
f_uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
file_storage.c USB: gadget: storage: optional SCSI WRITE FUA bit 2010-08-10 14:35:42 -07:00
fsl_mxc_udc.c i.MX25: fix USB gadget support 2010-07-26 14:18:11 +02:00
fsl_qe_udc.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
fsl_qe_udc.h powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds 2009-11-11 21:43:20 -06:00
fsl_udc_core.c USB: mxc: gadget: Fix bitfield for calculating maximum packet size 2010-05-20 13:21:40 -07:00
fsl_usb2_udc.h USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver 2009-06-15 21:44:47 -07:00
g_ffs.c USB: gadget: g_fs: code cleanup 2010-08-10 14:35:37 -07:00
g_zero.h
gadget_chips.h USB: gadget: add gadget controller number for s3c-hsotg driver 2010-03-19 07:24:22 -07:00
gmidi.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
goku_udc.c USB: goku_udc: remove potential null dereference 2010-03-19 07:24:19 -07:00
goku_udc.h
hid.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
imx_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imx_udc.h
inode.c usb: gadget: Do not take BKL for gadget->ops->ioctl 2010-08-10 14:35:36 -07:00
Kconfig USB: EHCI Debug Port Device Gadget 2010-08-10 14:35:39 -07:00
langwell_udc.c USB: gadget: langwell_udc.c: printk needs a (unsigned long long) cast for a dma_t 2010-08-10 14:35:35 -07:00
langwell_udc.h USB: Add Intel Langwell USB Device Controller driver 2009-06-15 21:44:47 -07:00
lh7a40x_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lh7a40x_udc.h
m66592-udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
m66592-udc.h usb: gadget: m66592-udc pio to mmio accessor conversion. 2010-06-02 16:26:13 +09:00
Makefile USB: gadget: functionfs: stale Makefile entry removed 2010-08-10 14:35:40 -07:00
mass_storage.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
multi.c USB: gadget: g_multi: code clean up and refactoring 2010-08-10 14:35:36 -07:00
ndis.h
net2280.c
net2280.h
nokia.c USB: gadget: introduce g_nokia gadget driver 2010-03-02 14:54:02 -08:00
omap_udc.c omap1: omap_udc: Add clocking and disable vbus sense for omap7xx 2009-11-22 10:24:32 -08:00
omap_udc.h
printer.c USB: autoconvert trivial BKL users to private mutex 2010-08-10 14:35:39 -07:00
pxa25x_udc.c [ARM] pxa: move board board IRQ definitions out of irqs.h 2010-03-02 07:40:51 +08:00
pxa25x_udc.h USB: gadget: pxa25x: basic transceiver support 2009-09-23 06:46:23 -07:00
pxa27x_udc.c [ARM] pxa: fix incorrect CONFIG_CPU_PXA27x to CONFIG_PXA27x 2010-07-15 17:20:23 +08:00
pxa27x_udc.h USB: pxa27x_udc: use four bits to store endpoint addresses 2010-05-20 13:21:36 -07:00
r8a66597-udc.c usb: gadget: r8a66597-udc pio to mmio accessor conversion. 2010-06-02 16:31:02 +09:00
r8a66597-udc.h usb: gadget: r8a66597-udc pio to mmio accessor conversion. 2010-06-02 16:31:02 +09:00
rndis.c net: fix 64 bit counters on 32 bit arches 2010-07-07 14:58:56 -07:00
rndis.h USB: gadget: Add EEM gadget driver 2009-09-23 06:46:35 -07:00
s3c2410_udc.c USB: s3c2410_udc: be aware of connected gadget driver 2010-07-26 12:00:58 -07:00
s3c2410_udc.h
s3c-hsotg.c USB: s3c-hsotg: Ensure FIFOs are fully flushed after layout 2010-06-04 13:16:19 -07:00
serial.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
storage_common.c USB: gadget: storage: optional SCSI WRITE FUA bit 2010-08-10 14:35:42 -07:00
u_audio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
u_audio.h USB: audio gadget: free alsa devices when unloading 2009-12-23 11:34:20 -08:00
u_ether.c usb: throw away custom hex digit methods 2010-08-10 14:35:35 -07:00
u_ether.h USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
u_phonet.h
u_serial.c USB: gadget: compilation issue: missing TASK_INTERRUPTIBLE 2010-08-10 14:35:38 -07:00
u_serial.h
usbstring.c
uvc_queue.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_queue.h V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_v4l2.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_video.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
webcam.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
zero.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00