From: Albert Herranz On ppc machine_kexec.c, we must apply NORET_TYPE to machine_kexec() as it does not return, and make it noreturn (otherwise compiler complains). NORET_TYPE is in fact not needed for machine_kexec_simple(). Signed-off-by: Albert Herranz Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc/kernel/machine_kexec.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff -puN arch/ppc/kernel/machine_kexec.c~kexec-ppc-fix-noret_type arch/ppc/kernel/machine_kexec.c --- 25/arch/ppc/kernel/machine_kexec.c~kexec-ppc-fix-noret_type 2005-02-24 21:06:55.000000000 -0800 +++ 25-akpm/arch/ppc/kernel/machine_kexec.c 2005-02-24 21:06:55.000000000 -0800 @@ -69,7 +69,7 @@ void machine_kexec_cleanup(struct kimage * Do not allocate memory (or fail in any way) in machine_kexec(). * We are past the point of no return, committed to rebooting now. */ -void machine_kexec(struct kimage *image) +NORET_TYPE void machine_kexec(struct kimage *image) { if (ppc_md.machine_kexec) { ppc_md.machine_kexec(image); @@ -80,6 +80,7 @@ void machine_kexec(struct kimage *image) */ machine_restart(NULL); } + for(;;); } @@ -90,7 +91,7 @@ void machine_kexec(struct kimage *image) * jumps to it. * A platform specific function may just call this one. */ -NORET_TYPE void machine_kexec_simple(struct kimage *image) +void machine_kexec_simple(struct kimage *image) { unsigned long page_list; unsigned long reboot_code_buffer, reboot_code_buffer_phys; _