aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2009-01-07 07:03:42 -0500
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-01-07 14:14:40 -0500
commitfa58d305d9925b01830e535896a7227a868a9e15 (patch)
tree6b0509663958c9fc6c3b201e6a3b061af784ffa9 /drivers/pci/pci.h
parentc9b9972b3c88272be02d971346285d1c67fbb95f (diff)
PCI PM: Add suspend counterpart of pci_reenable_device
PCI devices without drivers are not disabled during suspend and hibernation, but they are enabled during resume, with the help of pci_reenable_device(), so there is an unbalanced execution of pcibios_enable_device() in the resume code path. To correct this introduce function pci_disable_enabled_device() that will disable the argument device, if it is enabled when the function is being run, without updating the device's pci_dev structure and use it in the suspend code path to balance the pci_reenable_device() executed during resume. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/pci.h')
-rw-r--r--drivers/pci/pci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 211fd418f48f..881dc15f8efd 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -44,6 +44,7 @@ struct pci_platform_pm_ops {
44}; 44};
45 45
46extern int pci_set_platform_pm(struct pci_platform_pm_ops *ops); 46extern int pci_set_platform_pm(struct pci_platform_pm_ops *ops);
47extern void pci_disable_enabled_device(struct pci_dev *dev);
47extern void pci_pm_init(struct pci_dev *dev); 48extern void pci_pm_init(struct pci_dev *dev);
48extern void platform_pci_wakeup_init(struct pci_dev *dev); 49extern void platform_pci_wakeup_init(struct pci_dev *dev);
49extern void pci_allocate_cap_save_buffers(struct pci_dev *dev); 50extern void pci_allocate_cap_save_buffers(struct pci_dev *dev);