static int ssb_pcihost_resume(struct device *d) { struct pci_dev *dev = to_pci_dev(d); struct ssb_bus *ssb = pci_get_drvdata(dev); int err; pci_back_from_sleep(dev); err = pci_enable_device(dev); if (err) return err; pci_restore_state(dev); err = ssb_bus_resume(ssb); if (err) return err; return 0; }
static int hcd_pci_resume_noirq(struct device *dev) { struct pci_dev *pci_dev = to_pci_dev(dev); #ifdef CONFIG_PPC_PMAC /* Reenable ASIC clocks for USB */ if (machine_is(powermac)) { struct device_node *of_node; of_node = pci_device_to_OF_node(pci_dev); if (of_node) pmac_call_feature(PMAC_FTR_USB_ENABLE, of_node, 0, 1); } #endif /* Go back to D0 and disable remote wakeup */ pci_back_from_sleep(pci_dev); return 0; }