Rafael J. Wysocki
6a7c7eaf71
PM/Suspend: Introduce two new platform callbacks to avoid breakage
...
Commit 900af0d973 (PM: Change suspend
code ordering) changed the ordering of suspend code in such a way
that the platform .prepare() callback is now executed after the
device drivers' late suspend callbacks have run. Unfortunately, this
turns out to break ARM platforms that need to talk via I2C to power
control devices during the .prepare() callback.
For this reason introduce two new platform suspend callbacks,
.prepare_late() and .wake(), that will be called just prior to
disabling non-boot CPUs and right after bringing them back on line,
respectively, and use them instead of .prepare() and .finish() for
ACPI suspend. Make the PM core execute the .prepare() and .finish()
platform suspend callbacks where they were executed previously (that
is, right after calling the regular suspend methods provided by
device drivers and right before executing their regular resume
methods, respectively).
It is not necessary to make analogous changes to the hibernation
code and data structures at the moment, because they are only used
by ACPI platforms.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Len Brown <len.brown@intel.com>
2009-04-19 20:08:42 +02:00
..
acpica
Merge branches 'release', 'APERF', 'ARAT', 'misc', 'kelvin', 'device-lock' and 'bjorn.notify' into release
2009-04-07 18:18:42 -04:00
ac.c
proc 2/2: remove struct proc_dir_entry::owner
2009-03-31 01:14:44 +04:00
acpi_memhotplug.c
trivial: Fix misspelling of "firmware" in acpi_memhotplug.c
2009-01-06 11:28:08 +01:00
battery.c
Revert "ACPI battery: fix async boot oops"
2009-04-11 12:45:20 -07:00
blacklist.c
bus.c
Merge branch 'bjorn-initcall-cleanup' into release
2009-04-05 01:38:31 -04:00
button.c
ACPI: button: use .notify method instead of installing handler directly
2009-04-05 02:25:07 -04:00
cm_sbs.c
ACPI: remove private acpica headers from driver files
2008-12-31 01:15:22 -05:00
container.c
ACPI: add missing KERN_* constants to printks
2009-02-07 00:29:32 -05:00
debug.c
Merge branch 'acpi-modparam' into release
2009-04-05 01:45:50 -04:00
dock.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
ec.c
Merge branch 'constify' into release
2009-04-05 01:51:16 -04:00
event.c
netlink: change return-value logic of netlink_broadcast()
2009-02-05 23:56:36 -08:00
fan.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
glue.c
ACPI: call init_acpi_device_notify() explicitly rather than as initcall
2009-03-27 12:51:16 -04:00
internal.h
ACPI: call acpi_wakeup_device_init() explicitly rather than as initcall
2009-03-27 12:51:31 -04:00
Kconfig
ACPI: update Kconfig help texts (no functional changes)
2009-03-17 02:06:04 -04:00
Makefile
Merge branch 'async-battery' into release
2009-04-05 01:48:46 -04:00
numa.c
x86, ACPI: add support for x2apic ACPI extensions
2009-04-03 20:08:12 -04:00
osl.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
pci_bind.c
ACPI: simplify buffer management for acpi_pci_bind() etc.
2008-12-30 22:52:26 -05:00
pci_irq.c
Merge branch 'misc' into release
2009-04-05 01:52:07 -04:00
pci_link.c
ACPI: pci_link: simplify list of link devices
2009-03-17 01:53:29 -04:00
pci_root.c
PCI/ACPI: rename pci_osc_control_set()
2009-03-19 19:29:33 -07:00
pci_slot.c
PCI: pci_slot: grab refcount on slot's bus
2009-04-06 11:31:14 -07:00
power.c
Merge branch 'acpi-modparam' into release
2009-04-05 01:45:50 -04:00
proc.c
ACPI: convert acpi_device_lock spinlock to mutex
2009-04-07 00:02:40 -04:00
processor_core.c
ACPI: processor: use .notify method instead of installing handler directly
2009-04-05 02:25:07 -04:00
processor_idle.c
x86 ACPI: Add support for Always Running APIC timer
2009-04-07 18:17:51 -04:00
processor_perflib.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
processor_thermal.c
Merge branch 'constify' into release
2009-04-05 01:51:16 -04:00
processor_throttling.c
Merge branch 'misc' into release
2009-04-05 01:52:07 -04:00
reboot.c
ACPI: reboot.c: use new acpi_reset interface
2008-12-31 01:15:00 -05:00
sbs.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
sbshc.c
ACPI: remove private acpica headers from driver files
2008-12-31 01:15:22 -05:00
sbshc.h
scan.c
ACPI: delete acpi_device.g_list
2009-04-07 02:02:15 -04:00
sleep.c
PM/Suspend: Introduce two new platform callbacks to avoid breakage
2009-04-19 20:08:42 +02:00
sleep.h
ACPI: convert acpi_device_lock spinlock to mutex
2009-04-07 00:02:40 -04:00
system.c
Merge branch 'acpi-modparam' into release
2009-04-05 01:45:50 -04:00
tables.c
Merge branch 'linus' into release
2009-04-05 02:14:15 -04:00
thermal.c
Merge branches 'release', 'APERF', 'ARAT', 'misc', 'kelvin', 'device-lock' and 'bjorn.notify' into release
2009-04-07 18:18:42 -04:00
utils.c
video.c
ACPI: video: use .notify method instead of installing handler directly
2009-04-07 16:26:57 -04:00
video_detect.c
ACPI video: add a warning message if _BQC is not found
2009-03-27 22:37:22 -04:00
wakeup.c
ACPI: convert acpi_device_lock spinlock to mutex
2009-04-07 00:02:40 -04:00