linux/drivers/usb/core
Alan Stern 645daaab0b usbcore: add autosuspend/autoresume infrastructure
This patch (as739) adds the basic infrastructure for USB autosuspend
and autoresume.  The main features are:

	PM usage counters added to struct usb_device and struct
	usb_interface, indicating whether it's okay to autosuspend
	them or they are currently in use.

	Flag added to usb_device indicating whether the current
	suspend/resume operation originated from outside or as an
	autosuspend/autoresume.

	Flag added to usb_driver indicating whether the driver
	supports autosuspend.  If not, no device bound to the driver
	will be autosuspended.

	Mutex added to usb_device for protecting PM operations.
	Unlike the device semaphore, the locking rule for the pm_mutex
	is that you must acquire the locks going _up_ the device tree.

	New routines handling autosuspend/autoresume requests for
	interfaces and devices.

	Suspend and resume requests are propagated up the device tree
	(but not outside the USB subsystem).

	work_struct added to usb_device, for carrying out delayed
	autosuspend requests.

	Autoresume added (and autosuspend prevented) during probe and
	disconnect.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27 11:58:57 -07:00
..
buffer.c usbcore: trim down usb_bus structure 2006-09-27 11:58:56 -07:00
config.c usb: deal with broken config descriptors 2006-09-27 11:58:55 -07:00
devices.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
devio.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
driver.c usbcore: add autosuspend/autoresume infrastructure 2006-09-27 11:58:57 -07:00
endpoint.c [PATCH] USB: make endpoints real struct devices 2006-06-21 15:04:19 -07:00
file.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
generic.c usbcore: fix up device and power state tests 2006-09-27 11:58:50 -07:00
hcd-pci.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
hcd.c usbcore: trim down usb_bus structure 2006-09-27 11:58:56 -07:00
hcd.h usbcore: trim down usb_bus structure 2006-09-27 11:58:56 -07:00
hub.c usbcore: add autosuspend/autoresume infrastructure 2006-09-27 11:58:57 -07:00
hub.h usbcore: khubd and busy-port handling 2006-09-27 11:58:54 -07:00
inode.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
Kconfig [PATCH] USB: remove devfs information from Kconfig 2006-07-12 16:03:23 -07:00
Makefile usbcore: move code among source files 2006-09-27 11:58:50 -07:00
message.c USB: remove struct usb_operations 2006-09-27 11:58:56 -07:00
notify.c usbfs: private mutex for open, release, and remove 2006-09-27 11:58:49 -07:00
otg_whitelist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs.c usbcore: add configuration_string to attribute group 2006-09-27 11:58:49 -07:00
urb.c USB: remove struct usb_operations 2006-09-27 11:58:56 -07:00
usb.c usbcore: add autosuspend/autoresume infrastructure 2006-09-27 11:58:57 -07:00
usb.h usbcore: add autosuspend/autoresume infrastructure 2006-09-27 11:58:57 -07:00