summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman2006-06-23 10:17:32 +0200
committerPaul Mackerras2006-06-28 03:59:47 +0200
commitaa98c50dcb5d5b85d2a4c26d54fa1e3c31c11e4b (patch)
tree4c0747cace834f0fe75244ccd69c6ff8fc2827cb
parent[POWERPC] Use ppc_md.hpte_insert() in htab_bolt_mapping() (diff)
downloadkernel-qcow2-linux-aa98c50dcb5d5b85d2a4c26d54fa1e3c31c11e4b.tar.gz
kernel-qcow2-linux-aa98c50dcb5d5b85d2a4c26d54fa1e3c31c11e4b.tar.xz
kernel-qcow2-linux-aa98c50dcb5d5b85d2a4c26d54fa1e3c31c11e4b.zip
[POWERPC] Make kexec_setup() a regular initcall
There's no reason kexec_setup() needs to be called explicitly from setup_system(), it can just be a regular initcall. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/kernel/machine_kexec_64.c4
-rw-r--r--arch/powerpc/kernel/setup_64.c4
-rw-r--r--include/asm-powerpc/kexec.h1
3 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index a8fa04ef27cd..b438d45a068c 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -378,11 +378,13 @@ static void __init export_crashk_values(void)
of_node_put(node);
}
-void __init kexec_setup(void)
+static int __init kexec_setup(void)
{
export_htab_values();
export_crashk_values();
+ return 0;
}
+__initcall(kexec_setup);
static int __init early_parse_crashk(char *p)
{
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 6f213a9e36bf..cc26530145db 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -350,10 +350,6 @@ void __init setup_system(void)
*/
unflatten_device_tree();
-#ifdef CONFIG_KEXEC
- kexec_setup(); /* requires unflattened device tree. */
-#endif
-
/*
* Fill the ppc64_caches & systemcfg structures with informations
* retrieved from the device-tree. Need to be called before
diff --git a/include/asm-powerpc/kexec.h b/include/asm-powerpc/kexec.h
index efe8872ec583..234bd684c7f0 100644
--- a/include/asm-powerpc/kexec.h
+++ b/include/asm-powerpc/kexec.h
@@ -112,7 +112,6 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
#ifdef __powerpc64__
extern void kexec_smp_wait(void); /* get and clear naca physid, wait for
master to copy new code to 0 */
-extern void __init kexec_setup(void);
extern int crashing_cpu;
extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *));
#endif /* __powerpc64 __ */