PCI / PM: Avoid resuming more devices during system suspend
[deliverable/linux.git] / drivers / pci / pci-driver.c
index 108a3118ace7fbd107a2916aa29066cc326c0b6c..8dfb144b8ccf5a0ef0b265540199ac28d85cb281 100644 (file)
@@ -684,10 +684,21 @@ static int pci_pm_prepare(struct device *dev)
        return pci_dev_keep_suspended(to_pci_dev(dev));
 }
 
+static void pci_pm_complete(struct device *dev)
+{
+       struct device_driver *drv = dev->driver;
+       struct pci_dev *pci_dev = to_pci_dev(dev);
+
+       pci_dev_complete_resume(pci_dev);
+
+       if (drv && drv->pm && drv->pm->complete)
+               drv->pm->complete(dev);
+}
 
 #else /* !CONFIG_PM_SLEEP */
 
 #define pci_pm_prepare NULL
+#define pci_pm_complete        NULL
 
 #endif /* !CONFIG_PM_SLEEP */
 
@@ -1218,6 +1229,7 @@ static int pci_pm_runtime_idle(struct device *dev)
 
 static const struct dev_pm_ops pci_dev_pm_ops = {
        .prepare = pci_pm_prepare,
+       .complete = pci_pm_complete,
        .suspend = pci_pm_suspend,
        .resume = pci_pm_resume,
        .freeze = pci_pm_freeze,
This page took 0.02644 seconds and 5 git commands to generate.