linux/drivers/usb/storage
Alan Stern f283925fe9 USB: usb-storage: implement autosuspend
This patch (as1400) adds runtime-PM support to usb-storage.  It
utilizes the SCSI layer's runtime-PM implementation, so its scope is
limited.  Currently the only effect is that disk-like devices (such as
card readers or flash drives) will be autosuspended if they aren't
mounted and their device files aren't open.  This would apply, for
example, to card readers that don't contain a memory card.

Unfortunately this won't interact very well with the removable-media
polling normally carried out by hal or DeviceKit.  Maybe those
programs can be changed to use a longer polling interval, or maybe the
default autosuspend time for usb-storage should be set to something
below 1 second.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: James Bottomley <James.Bottomley@suse.de>
Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 14:35:44 -07:00
..
alauda.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
cypress_atacb.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
datafab.c USB: storage: Drop an unneeded a NULL test 2009-09-23 06:46:29 -07:00
debug.c USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
debug.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
freecom.c usb: storage: freecom: Fixed several coding style issues. 2010-08-10 14:35:39 -07:00
initializers.c USB: usb-storage fails to attach to Huawei Datacard cdrom device 2009-09-23 06:46:32 -07:00
initializers.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
isd200.c USB: isd200.c: Remove unnecessary kmalloc cast 2010-08-10 14:35:34 -07:00
jumpshot.c USB: storage: Drop an unneeded a NULL test 2009-09-23 06:46:29 -07:00
karma.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
Kconfig usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00
libusual.c usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
Makefile usb-storage: fix mistake in Makefile 2009-04-17 10:50:26 -07:00
onetouch.c USB: rename usb_buffer_alloc() and usb_buffer_free() users 2010-05-20 13:21:38 -07:00
option_ms.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
option_ms.h USB: unusual dev for Option N.V. ZeroCD modems 2009-01-07 10:00:09 -08:00
protocol.c usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
protocol.h USB: usb-storage: merge ATAPI and QIC-157 protocol routines 2009-01-07 09:59:57 -08:00
scsiglue.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
scsiglue.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
sddr09.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
sddr55.c USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules 2009-03-24 16:20:35 -07:00
shuttle_usbat.c USB: storage: fix misplaced parenthesis 2010-03-02 14:55:08 -08:00
sierra_ms.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
sierra_ms.h USB Storage Sierra: TRU-Install feature update 2008-08-13 17:32:51 -07:00
transport.c USB: usb-storage: fix initializations of urb fields 2010-07-26 12:00:58 -07:00
transport.h USB: usb-storage: merge CB and CBI transport routines 2009-01-07 09:59:57 -08:00
unusual_alauda.h usb-storage: make alauda a separate module 2009-03-24 16:20:35 -07:00
unusual_cypress.h usb-storage: make cypress_atacb a separate module 2009-03-24 16:20:34 -07:00
unusual_datafab.h usb-storage: make datafab a separate module 2009-03-24 16:20:34 -07:00
unusual_devs.h USB: unusual-dev: Add bad sense flag for Appotech ax203 based picture frames 2010-05-20 13:21:41 -07:00
unusual_freecom.h usb-storage: make freecom a separate module 2009-03-24 16:20:34 -07:00
unusual_isd200.h usb-storage: make isd200 a separate module 2009-03-24 16:20:34 -07:00
unusual_jumpshot.h usb-storage: make jumpshot a separate module 2009-03-24 16:20:34 -07:00
unusual_karma.h usb-storage: make karma a separate module 2009-03-24 16:20:35 -07:00
unusual_onetouch.h usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00
unusual_sddr09.h usb-storage: make sddr09 a separate module 2009-03-24 16:20:34 -07:00
unusual_sddr55.h usb-storage: make sddr55 a separate module 2009-03-24 16:20:34 -07:00
unusual_usbat.h usb-storage: make shuttle_usbat a separate module 2009-03-24 16:20:34 -07:00
usb.c USB: usb-storage: implement autosuspend 2010-08-10 14:35:44 -07:00
usb.h USB: remove uses of URB_NO_SETUP_DMA_MAP 2010-05-20 13:21:31 -07:00
usual-tables.c usb-storage: make onetouch a separate module 2009-03-24 16:20:35 -07:00