aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/usb-skeleton.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2006-08-30 15:47:02 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-27 11:58:57 -0700
commit645daaab0b6adc35c1838df2a82f9d729fdb1767 (patch)
tree908d58f6c0ad01e9c1622a4c12c9c8080c629baa /drivers/usb/usb-skeleton.c
parentb6956ffa595db97656d5901ca8fec77ef272d41a (diff)
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>
Diffstat (limited to 'drivers/usb/usb-skeleton.c')
0 files changed, 0 insertions, 0 deletions