PCI/PM Runtime: Make runtime PM of PCI devices inactive by default
authorRafael J. Wysocki <rjw@sisk.pl>
Sat, 27 Feb 2010 20:37:37 +0000 (21:37 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 5 Mar 2010 23:09:39 +0000 (15:09 -0800)
Make the run-time power management of PCI devices be inactive by
default by calling pm_runtime_forbid() for each PCI device during its
initialization.  This setting may be overriden by the user space with
the help of the /sys/devices/.../power/control interface.

That's necessary to avoid breakage on systems where ACPI-based
wake-up is known to fail for some devices.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci.c

index 5b548aee9cbc43f30a0e0bb0d850ceed3d606e08..6e100ae7f5b581711e112b227d685270322268c2 100644 (file)
@@ -1540,8 +1540,10 @@ void pci_pm_init(struct pci_dev *dev)
        int pm;
        u16 pmc;
 
+       pm_runtime_forbid(&dev->dev);
        device_enable_async_suspend(&dev->dev);
        dev->wakeup_prepared = false;
+
        dev->pm_cap = 0;
 
        /* find PCI PM capability in list */