diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2010-06-25 14:02:14 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-10 17:35:37 -0400 |
commit | 4147200d25c423e627ab4487530b3d9f2ef829c8 (patch) | |
tree | 7261fbfd97782482d18333f1b0e9de0e2e4bf968 /drivers/usb/host/ehci-pci.c | |
parent | 057c58bfb1dc9bbb75b8ba3b6c6336cfca63b9d0 (diff) |
USB: add do_wakeup parameter for PCI HCD suspend
This patch (as1385) adds a "do_wakeup" parameter to the pci_suspend
method used by PCI-based host controller drivers. ehci-hcd in
particular needs to know whether or not to enable wakeup when
suspending a controller. Although that information is currently
available through device_may_wakeup(), when support is added for
runtime suspend this will no longer be true.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ehci-pci.c')
-rw-r--r-- | drivers/usb/host/ehci-pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index a307d550bdaf..f555e4f35a04 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c | |||
@@ -277,7 +277,7 @@ done: | |||
277 | * Also they depend on separate root hub suspend/resume. | 277 | * Also they depend on separate root hub suspend/resume. |
278 | */ | 278 | */ |
279 | 279 | ||
280 | static int ehci_pci_suspend(struct usb_hcd *hcd) | 280 | static int ehci_pci_suspend(struct usb_hcd *hcd, bool do_wakeup) |
281 | { | 281 | { |
282 | struct ehci_hcd *ehci = hcd_to_ehci(hcd); | 282 | struct ehci_hcd *ehci = hcd_to_ehci(hcd); |
283 | unsigned long flags; | 283 | unsigned long flags; |
@@ -291,7 +291,7 @@ static int ehci_pci_suspend(struct usb_hcd *hcd) | |||
291 | * the root hub is either suspended or stopped. | 291 | * the root hub is either suspended or stopped. |
292 | */ | 292 | */ |
293 | spin_lock_irqsave (&ehci->lock, flags); | 293 | spin_lock_irqsave (&ehci->lock, flags); |
294 | ehci_prepare_ports_for_controller_suspend(ehci); | 294 | ehci_prepare_ports_for_controller_suspend(ehci, do_wakeup); |
295 | ehci_writel(ehci, 0, &ehci->regs->intr_enable); | 295 | ehci_writel(ehci, 0, &ehci->regs->intr_enable); |
296 | (void)ehci_readl(ehci, &ehci->regs->intr_enable); | 296 | (void)ehci_readl(ehci, &ehci->regs->intr_enable); |
297 | 297 | ||