linux/drivers
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
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
amba
ata Merge commit 'origin' 2008-10-15 11:31:54 +11:00
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
auxdisplay
base memory_probe: fix wrong sysfs file attribute 2008-10-20 08:52:32 -07:00
block x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
cdrom gdrom: change to use __blk_end_request() 2008-10-09 08:56:21 +02:00
char epca: Add infinite break support 2008-10-20 09:41:06 -07:00
clocksource
connector
cpufreq [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code 2008-10-09 13:52:44 -04:00
cpuidle
crypto
dca device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
dio
dma dw_dmac: fix copy/paste bug in tasklet 2008-10-03 18:22:18 -07:00
edac edac cell: fix incorrect edac_mode 2008-10-20 08:52:40 -07:00
eisa
firewire firewire: fix ioctl() return code 2008-10-15 22:21:10 +02:00
firmware x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
gpio gpiolib: fix oops in gpio_get_value_cansleep() 2008-10-20 08:52:36 -07:00
gpu drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831) 2008-10-18 07:18:05 +10:00
hid USB: remove warn macro from HID core 2008-10-17 14:41:09 -07:00
hwmon hwmon: applesmc: lighter wait mechanism, drastic improvement 2008-10-20 08:52:35 -07:00
i2c PCI: Check dynids driver_data value for validity 2008-10-20 10:48:35 -07:00
ide block: remove __generic_unplug_device() from exports 2008-10-17 14:03:08 +02:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-10-16 15:02:24 -07:00
infiniband x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
input Merge branch 'for-next' of git://git.o-hand.com/linux-mfd 2008-10-20 09:22:47 -07:00
isdn device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
leds sh: Migrate common board headers to mach-common/. 2008-10-20 13:02:48 +09:00
lguest
macintosh device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-17 09:00:23 -07:00
media byteorder: remove direct includes of linux/byteorder/swab[b].h 2008-10-20 08:52:40 -07:00
memstick x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
message i2o: Fix 32/64bit DMA locking 2008-10-16 11:21:38 -07:00
mfd mfd: ucb1400 needs GPIO 2008-10-19 22:54:13 +02:00
misc HP-WMI: additional keycode (or typo) 2008-10-20 08:52:34 -07:00
mmc Merge branch 'fixes' into for-linus 2008-10-15 23:16:07 +01:00
mtd Merge git://git.infradead.org/mtd-2.6 2008-10-20 09:03:12 -07:00
net Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-20 11:17:52 +09:00
nubus nubus: fix mis-indented statement 2008-10-16 11:21:30 -07:00
of Merge commit 'gcl/gcl-next' 2008-10-14 10:11:27 +11:00
oprofile Merge branch 'linus' into oprofile-v2 2008-10-13 11:05:51 +02:00
parisc
parport parport: remove CVS keywords 2008-10-16 11:21:49 -07:00
pci PCI PM: Introduce function pci_wake_from_d3 2008-10-20 10:53:41 -07:00
pcmcia [ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error 2008-10-15 12:34:50 +01:00
pnp {pci,pnp} quirks.c: don't use deprecated print_fn_descriptor_symbol() 2008-10-16 16:11:43 -07:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 ps3: Add passthru support for non-audio streams 2008-10-20 08:05:15 +02:00
rapidio
regulator da903x: add regulator support for DA9030/DA9034 2008-10-13 21:51:57 +01:00
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-10-20 09:13:34 -07:00
s390 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-10-17 09:29:55 -07:00
sbus
scsi PCI: remove dynids.use_driver_data 2008-10-20 10:48:34 -07:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-10-20 09:13:34 -07:00
sh sh: Move the shared INTC code out to drivers/sh/ 2008-10-01 16:13:54 +09:00
sn
spi Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
staging Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2008-10-20 09:09:56 -07:00
tc
telephony phonedev: remove BKL 2008-10-20 08:52:36 -07:00
thermal
uio UIO: Fix mapping of logical and virtual memory 2008-10-16 09:24:54 -07:00
usb USB: remove err() macro from more usb drivers 2008-10-17 14:41:14 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-10-20 09:13:34 -07:00
virtio
w1 x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
watchdog Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
xen xen: remove unused balloon.h 2008-10-03 10:04:10 +02:00
zorro
Kconfig Staging: add Kconfig entries and Makefile infrastructure 2008-10-10 15:31:06 -07:00
Makefile Staging: add Kconfig entries and Makefile infrastructure 2008-10-10 15:31:06 -07:00