summaryrefslogtreecommitdiffstats
path: root/kernel/kexec.c
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2008-08-15 09:40:21 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 17:35:42 +0200
commit7ade3fcc1fe2801336112027a884070c9ca451af (patch)
treeadd446bef1fc2ada030f1e749245075a6baa86a7 /kernel/kexec.c
parentkexec: fix compilation warning on xchg(&kexec_lock, 0) in kernel_kexec() (diff)
downloadlinux-7ade3fcc1fe2801336112027a884070c9ca451af.tar.xz
linux-7ade3fcc1fe2801336112027a884070c9ca451af.zip
kexec jump: clean up #ifdef and comments
Move if (kexec_image->preserve_context) { ... } into #ifdef CONFIG_KEXEC_JUMP to make code looks cleaner. Fix no longer correct comments of kernel_kexec(). Signed-off-by: Huang Ying <ying.huang@intel.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Cc: Pavel Machek <pavel@ucw.cz> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Vivek Goyal <vgoyal@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r--kernel/kexec.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c
index cf3797b76786..bfbbd120623c 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -1426,11 +1426,9 @@ static int __init crash_save_vmcoreinfo_init(void)
module_init(crash_save_vmcoreinfo_init)
-/**
- * kernel_kexec - reboot the system
- *
- * Move into place and start executing a preloaded standalone
- * executable. If nothing was preloaded return an error.
+/*
+ * Move into place and start executing a preloaded standalone
+ * executable. If nothing was preloaded return an error.
*/
int kernel_kexec(void)
{
@@ -1443,8 +1441,8 @@ int kernel_kexec(void)
goto Unlock;
}
- if (kexec_image->preserve_context) {
#ifdef CONFIG_KEXEC_JUMP
+ if (kexec_image->preserve_context) {
mutex_lock(&pm_mutex);
pm_prepare_console();
error = freeze_processes();
@@ -1471,8 +1469,9 @@ int kernel_kexec(void)
if (error)
goto Enable_irqs;
save_processor_state();
+ } else
#endif
- } else {
+ {
blocking_notifier_call_chain(&reboot_notifier_list,
SYS_RESTART, NULL);
system_state = SYSTEM_RESTART;
@@ -1484,8 +1483,8 @@ int kernel_kexec(void)
machine_kexec(kexec_image);
- if (kexec_image->preserve_context) {
#ifdef CONFIG_KEXEC_JUMP
+ if (kexec_image->preserve_context) {
restore_processor_state();
device_power_up(PMSG_RESTORE);
Enable_irqs:
@@ -1499,8 +1498,8 @@ int kernel_kexec(void)
Restore_console:
pm_restore_console();
mutex_unlock(&pm_mutex);
-#endif
}
+#endif
Unlock:
if (!xchg(&kexec_lock, 0))