]> git.baikalelectronics.ru Git - kernel.git/commit
USB: separate autosuspend from external suspend
authorAlan Stern <stern@rowland.harvard.edu>
Tue, 13 Mar 2007 20:37:30 +0000 (16:37 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 27 Apr 2007 20:28:35 +0000 (13:28 -0700)
commit3c265022c7511ea1c37df911c01fea0ded440a31
tree7069b603d4a3d4723e8b99a23f97139b100547db
parent6e0f5c029668edd01e812c04e8ea250281d68906
USB: separate autosuspend from external suspend

This patch (as866) adds new entry points for external USB device
suspend and resume requests, as opposed to internally-generated
autosuspend or autoresume.  It also changes the existing
remote-wakeup code paths to use the new routines, since remote wakeup
is not the same as autoresume.

As part of the change, it turns out to be necessary to do remote
wakeup of root hubs from a workqueue.  We had been using khubd, but it
does autoresume rather than an external resume.  Using the
ksuspend_usb_wq workqueue for this purpose seemed a logical choice.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/driver.c
drivers/usb/core/hcd.c
drivers/usb/core/hcd.h
drivers/usb/core/hub.c
drivers/usb/core/usb.c
drivers/usb/core/usb.h