|
@@ -296,49 +296,6 @@ static int __devinit ohci_pci_start (struct usb_hcd *hcd)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_PM
|
|
|
-
|
|
|
-static int ohci_pci_suspend(struct usb_hcd *hcd, bool do_wakeup)
|
|
|
-{
|
|
|
- struct ohci_hcd *ohci = hcd_to_ohci (hcd);
|
|
|
- unsigned long flags;
|
|
|
- int rc = 0;
|
|
|
-
|
|
|
- /* Root hub was already suspended. Disable irq emission and
|
|
|
- * mark HW unaccessible, bail out if RH has been resumed. Use
|
|
|
- * the spinlock to properly synchronize with possible pending
|
|
|
- * RH suspend or resume activity.
|
|
|
- */
|
|
|
- spin_lock_irqsave (&ohci->lock, flags);
|
|
|
- if (ohci->rh_state != OHCI_RH_SUSPENDED) {
|
|
|
- rc = -EINVAL;
|
|
|
- goto bail;
|
|
|
- }
|
|
|
- ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
|
|
|
- (void)ohci_readl(ohci, &ohci->regs->intrdisable);
|
|
|
-
|
|
|
- clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
|
|
|
- bail:
|
|
|
- spin_unlock_irqrestore (&ohci->lock, flags);
|
|
|
-
|
|
|
- return rc;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-static int ohci_pci_resume(struct usb_hcd *hcd, bool hibernated)
|
|
|
-{
|
|
|
- set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
|
|
|
-
|
|
|
- /* Make sure resume from hibernation re-enumerates everything */
|
|
|
- if (hibernated)
|
|
|
- ohci_usb_reset(hcd_to_ohci(hcd));
|
|
|
-
|
|
|
- ohci_finish_controller_resume(hcd);
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-#endif /* CONFIG_PM */
|
|
|
-
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
|
@@ -362,8 +319,8 @@ static const struct hc_driver ohci_pci_hc_driver = {
|
|
|
.shutdown = ohci_shutdown,
|
|
|
|
|
|
#ifdef CONFIG_PM
|
|
|
- .pci_suspend = ohci_pci_suspend,
|
|
|
- .pci_resume = ohci_pci_resume,
|
|
|
+ .pci_suspend = ohci_suspend,
|
|
|
+ .pci_resume = ohci_resume,
|
|
|
#endif
|
|
|
|
|
|
/*
|