aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci-hcd.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2008-12-17 17:20:38 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-01-07 10:00:12 -0800
commit6fd9086a518d4f14213a32fe6c9ac17fabebbc1e (patch)
treec7b59ccb00a69eb02188d9f0e40eec001078917f /drivers/usb/host/ohci-hcd.c
parenta0d4922da2e4ccb0973095d8d29f36f6b1b5f703 (diff)
downloadkernel_samsung_smdk4412-6fd9086a518d4f14213a32fe6c9ac17fabebbc1e.zip
kernel_samsung_smdk4412-6fd9086a518d4f14213a32fe6c9ac17fabebbc1e.tar.gz
kernel_samsung_smdk4412-6fd9086a518d4f14213a32fe6c9ac17fabebbc1e.tar.bz2
USB: automatically enable wakeup for PCI host controllers
This patch (as1193b) enables wakeup during initialization for all PCI host controllers, and it removes some code (and comments!) that are no longer needed now that the PCI core automatically initializes wakeup settings for all new devices. The idea is that the bus should initialize wakeup, and the bus glue or controller driver should enable it. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ohci-hcd.c')
-rw-r--r--drivers/usb/host/ohci-hcd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 8aa3f45..65a9609 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -589,13 +589,15 @@ static int ohci_run (struct ohci_hcd *ohci)
/* also: power/overcurrent flags in roothub.a */
}
- /* Reset USB nearly "by the book". RemoteWakeupConnected was
- * saved if boot firmware (BIOS/SMM/...) told us it's connected,
- * or if bus glue did the same (e.g. for PCI add-in cards with
- * PCI PM support).
+ /* Reset USB nearly "by the book". RemoteWakeupConnected has
+ * to be checked in case boot firmware (BIOS/SMM/...) has set up
+ * wakeup in a way the bus isn't aware of (e.g., legacy PCI PM).
+ * If the bus glue detected wakeup capability then it should
+ * already be enabled. Either way, if wakeup should be enabled
+ * but isn't, we'll enable it now.
*/
if ((ohci->hc_control & OHCI_CTRL_RWC) != 0
- && !device_may_wakeup(hcd->self.controller))
+ && !device_can_wakeup(hcd->self.controller))
device_init_wakeup(hcd->self.controller, 1);
switch (ohci->hc_control & OHCI_CTRL_HCFS) {