Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kexec jump: remove duplication of kexec_restart_prepare()

Call kernel_restart_prepare() in kernel_kexec() instead of duplicating the
code.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Acked-by: Pavel Machek <pavel@suse.cz>
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>

authored by

Huang Ying and committed by
Linus Torvalds
ca195b7f fb45daa6

+3 -6
+1
include/linux/reboot.h
··· 59 59 * Architecture independent implemenations of sys_reboot commands. 60 60 */ 61 61 62 + extern void kernel_restart_prepare(char *cmd); 62 63 extern void kernel_restart(char *cmd); 63 64 extern void kernel_halt(void); 64 65 extern void kernel_power_off(void);
+1 -5
kernel/kexec.c
··· 1472 1472 } else 1473 1473 #endif 1474 1474 { 1475 - blocking_notifier_call_chain(&reboot_notifier_list, 1476 - SYS_RESTART, NULL); 1477 - system_state = SYSTEM_RESTART; 1478 - device_shutdown(); 1479 - sysdev_shutdown(); 1475 + kernel_restart_prepare(NULL); 1480 1476 printk(KERN_EMERG "Starting new kernel\n"); 1481 1477 machine_shutdown(); 1482 1478 }
+1 -1
kernel/sys.c
··· 274 274 } 275 275 EXPORT_SYMBOL_GPL(emergency_restart); 276 276 277 - static void kernel_restart_prepare(char *cmd) 277 + void kernel_restart_prepare(char *cmd) 278 278 { 279 279 blocking_notifier_call_chain(&reboot_notifier_list, SYS_RESTART, cmd); 280 280 system_state = SYSTEM_RESTART;