linux/drivers/pci
Rafael J. Wysocki 0235c4fc7f PCI PM: Introduce function pci_wake_from_d3
Many device drivers use the following sequence of statements to enable
the device to wake up the system while being in the D3_hot or D3_cold
low power state:

        pci_enable_wake(pdev, PCI_D3hot, 1);
        pci_enable_wake(pdev, PCI_D3cold, 1);

However, the second call is not necessary if the first one succeeds (the
ordering of the statements above doesn't matter here) and it may even be
harmful, because we are not supposed to enable PME# after the wake-up
power has been enabled for the device.

To allow drivers to overcome this problem, introduce function
pci_wake_from_d3() that will enable the device to wake up the system
from any of D3_hot and D3_cold as long as the wake-up from at least one
of them is supported.

Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-10-20 10:53:41 -07:00
..
hotplug Merge branch 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-16 15:17:40 -07:00
pcie PCI: Fix pcie_aspm=force 2008-09-16 09:09:56 -07:00
.gitignore
access.c PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. 2008-07-02 11:25:54 -07:00
bus.c PCI: remove global list of PCI devices 2008-04-20 21:47:02 -07:00
dmar.c VT-d: Changes to support KVM 2008-10-15 14:24:08 +02:00
hotplug-pci.c PCI: fix section mismatch warning in pci_scan_child_bus 2008-03-04 15:07:03 -08:00
hotplug.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
htirq.c
intel-iommu.c intel-iommu: typo fix and correct word in the comment 2008-10-20 08:52:34 -07:00
intr_remapping.c VT-d: Changes to support KVM 2008-10-15 14:24:08 +02:00
intr_remapping.h VT-d: Changes to support KVM 2008-10-15 14:24:08 +02:00
iova.c VT-d: Changes to support KVM 2008-10-15 14:24:08 +02:00
Kconfig PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
Makefile Merge branch 'linus' into x86/x2apic 2008-07-18 22:50:34 +02:00
msi.c PCI: fully restore MSI state at resume time 2008-08-07 08:52:37 -07:00
msi.h
pci-acpi.c PCI: disable ASPM per ACPI FADT setting 2008-07-28 14:56:09 -07:00
pci-driver.c PCI: Check dynids driver_data value for validity 2008-10-20 10:48:35 -07:00
pci-sysfs.c Check mapped ranges on sysfs resource files 2008-10-02 18:52:51 -07:00
pci.c PCI PM: Introduce function pci_wake_from_d3 2008-10-20 10:53:41 -07:00
pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
probe.c pci: Use new %pR to print resource ranges 2008-10-20 09:12:32 -07:00
proc.c PCI: fixup sparse endianness warnings in proc.c 2008-07-22 15:19:44 -07:00
quirks.c PCI: allow quirks to be compiled out 2008-10-20 10:53:40 -07:00
remove.c PCI: add PCI Express ASPM support 2008-04-20 21:47:03 -07:00
rom.c Export the ROM enable/disable helpers 2008-09-26 18:59:05 -06:00
search.c PCI: fix compiler warnings in pci_get_subsys() 2008-09-16 15:52:08 -07:00
setup-bus.c pci: Use new %pR to print resource ranges 2008-10-20 09:12:32 -07:00
setup-irq.c PCI: use dev_printk when possible 2008-06-25 16:05:13 -07:00
setup-res.c pci: Use new %pR to print resource ranges 2008-10-20 09:12:32 -07:00
slot.c PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
syscall.c PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c. 2008-02-01 15:04:21 -08:00