-+static int ssb_ehci_start(struct usb_hcd *hcd)
-+{
-+ struct ehci_hcd *ehci = hcd_to_ehci(hcd);
-+ int err;
-+
-+ err = ehci_run(hcd);
-+ if (err < 0) {
-+ ehci_err(ehci, "can't start\n");
-+ ehci_stop(hcd);
-+ }
-+
-+ return err;
-+}
-+
-+#ifdef CONFIG_PM
-+static int ssb_ehci_hcd_suspend(struct usb_hcd *hcd, pm_message_t message)
-+{
-+ struct ssb_ehci_device *ehcidev = hcd_to_ssb_ehci(hcd);
-+ struct ehci_hcd *ehci = &ehcidev->ehci;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&ehci->lock, flags);
-+
-+ ehci_writel(ehci, EHCI_INTR_MIE, &ehci->regs->intrdisable);
-+ ehci_readl(ehci, &ehci->regs->intrdisable); /* commit write */
-+
-+ /* make sure snapshot being resumed re-enumerates everything */
-+ if (message.event == PM_EVENT_PRETHAW)
-+ ehci_usb_reset(ehci);
-+
-+ clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
-+
-+ spin_unlock_irqrestore(&ehci->lock, flags);
-+ return 0;
-+}
-+
-+static int ssb_ehci_hcd_resume(struct usb_hcd *hcd)
-+{
-+ set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
-+ usb_hcd_resume_root_hub(hcd);
-+ return 0;
-+}
-+#endif /* CONFIG_PM */
-+