android_kernel_motorola_sm6225/drivers
Rafael J. Wysocki c7e0831d38 Hibernation: Check if ACPI is enabled during restore in the right place
The following scenario leads to total confusion of the platform firmware on
some boxes (eg. HPC nx6325):
* Hibernate with ACPI enabled
* Resume passing "acpi=off" to the boot kernel

To prevent this from happening it's necessary to check if ACPI is enabled (and
enable it if that's not the case) _right_ _after_ control has been transfered
from the boot kernel to the image kernel, before device_power_up() is called
(ie.  with interrupts disabled).   Enabling ACPI after calling
device_power_up() turns out to be insufficient.

For this reason, introduce new hibernation callback ->leave() that will be
executed before device_power_up() by the restored image kernel.   To make it
work, it also is necessary to move swsusp_suspend() from swsusp.c to disk.c
(it's name is changed to "create_image", which is more up to the point).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-18 14:37:20 -07:00
..
acorn/char unicode diacritics support 2007-10-17 08:42:52 -07:00
acpi Hibernation: Check if ACPI is enabled during restore in the right place 2007-10-18 14:37:20 -07:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-10-16 10:09:16 -07:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
auxdisplay
base pm_trace displays the wrong time from the RTC 2007-10-18 14:37:19 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-10-17 09:08:13 -07:00
bluetooth
cdrom [POWERPC] iSeries: Move detection of virtual cdroms 2007-10-11 20:40:47 +10:00
char PM: Move definition of struct pm_ops to suspend.h 2007-10-18 14:37:18 -07:00
clocksource
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dca I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
dio
dma Remove "unsafe" from module struct 2007-10-17 08:42:49 -07:00
edac Drivers: clean up direct setting of the name of a kset 2007-10-12 14:51:02 -07:00
eisa signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
fc4 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-15 08:19:33 -07:00
firewire firewire: fw-cdev: reorder wakeup vs. spinlock 2007-10-17 00:00:10 +02:00
firmware Driver core: rename ktype_edd and ktype_efivar 2007-10-12 14:51:12 -07:00
hid HID: fix HIDIOCGRDESC memory access in hidraw 2007-10-15 08:12:00 -07:00
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-10-15 13:41:39 -07:00
i2c Make the pr_*() family of macros in kernel.h complete 2007-10-17 08:42:57 -07:00
ide amd74xx: remove /proc/ide/amd74xx 2007-10-16 22:29:58 +02:00
ieee1394 ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definition 2007-10-16 23:59:59 +02:00
infiniband [POWERPC] ibmebus: Move to of_device and of_platform_driver, match eHCA and eHEA drivers 2007-10-17 22:30:08 +10:00
input freezer: introduce freezer-friendly waiting macros 2007-10-18 14:37:19 -07:00
isdn i4l: Fix random hard freeze with AVM c4 card 2007-10-18 14:37:17 -07:00
kvm sched: guest CPU accounting: maintain guest state in KVM 2007-10-15 17:00:19 +02:00
leds Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
lguest Merge branch 'xen-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2007-10-17 11:10:11 -07:00
macintosh fix adbhid mismerge 2007-10-16 19:04:49 -07:00
mca
md md: make sure read errors are auto-corrected during a 'check' resync in raid1 2007-10-17 08:43:03 -07:00
media freezer: introduce freezer-friendly waiting macros 2007-10-18 14:37:19 -07:00
message I2O: Fix "defined but not used" build warnings 2007-10-17 08:42:56 -07:00
mfd
misc Driver for the Atmel on-chip SSC on AT32AP and AT91 2007-10-17 08:42:47 -07:00
mmc mmc: at91_mci: cleanup: use MCI_ERRORS 2007-10-17 21:35:10 +02:00
mtd Slab API: remove useless ctor parameter and reorder parameters 2007-10-17 08:42:45 -07:00
net net: libertas sdio driver 2007-10-17 22:51:13 +02:00
nubus
of
oprofile
parisc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
parport
pci Get rid of unused variable warning in drivers/pci/hotplug/pci_hotplug_core.c 2007-10-15 09:07:58 -07:00
pcmcia pcmcia: CompactFlash driver for PA Semi Electra boards 2007-10-17 08:42:48 -07:00
pnp PNP: add debug message for adding new device 2007-10-17 08:43:04 -07:00
power Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ps3 ps3fb: default to 480p on DVI-D/HDMI if video=safe 2007-10-16 09:43:22 -07:00
rapidio
rtc rtc: allow validated RTC_PIE_ON for non-root 2007-10-16 09:43:13 -07:00
s390 unicode diacritics support 2007-10-17 08:42:52 -07:00
sbus
scsi Revert "[SCSI] Remove full sg table memset()" 2007-10-17 19:33:05 +02:00
serial serial: turn serial console suspend a boot rather than compile time option 2007-10-18 14:37:19 -07:00
sh
sn
spi spi doesn't need class_device 2007-10-16 09:43:10 -07:00
ssb missing include in ssb 2007-10-14 08:53:33 -07:00
tc lk201: remove obsolete driver 2007-10-17 08:42:57 -07:00
telephony kconfig: syntax cleanup - drop support for "depends/requires/def_boolean" 2007-10-12 21:20:32 +02:00
uio
usb freezer: introduce freezer-friendly waiting macros 2007-10-18 14:37:19 -07:00
video logo.c: get rid of mips_machgroup 2007-10-18 14:37:17 -07:00
w1 Clean up duplicate includes in drivers/w1/ 2007-10-17 08:42:48 -07:00
xen
zorro
Kconfig DCA: Add Direct Cache Access driver 2007-10-16 09:43:09 -07:00
Makefile DCA: Add Direct Cache Access driver 2007-10-16 09:43:09 -07:00