summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2016-07-05 15:04:12 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2016-07-21 19:17:23 +1000
commitf7b9ebb79e90b19bf6a2cb805a536258437fc3fa (patch)
tree127c71357cfc22ac4f8e0f07cb3fc02defe2e47a
parente39afba3aa11f7088ddc00d37ab34a85d960a76e (diff)
powerpc: Re-order setup_panic()
Do it right after probe_machine() since it's about testing ppc_md, and put the test in the common code. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/kernel/setup-common.c2
-rw-r--r--arch/powerpc/kernel/setup_32.c5
-rw-r--r--arch/powerpc/kernel/setup_64.c5
3 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index b8ee1c867ee3..ca9255e3b763 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -688,6 +688,8 @@ static struct notifier_block ppc_panic_block = {
void __init setup_panic(void)
{
+ if (!ppc_md.panic)
+ return;
atomic_notifier_chain_register(&panic_notifier_list, &ppc_panic_block);
}
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index 58674b602149..6247a3a4fd4b 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -277,6 +277,8 @@ void __init setup_arch(char **cmdline_p)
probe_machine();
+ setup_panic();
+
setup_power_save();
find_legacy_serial_ports();
@@ -288,9 +290,6 @@ void __init setup_arch(char **cmdline_p)
xmon_setup();
- if (ppc_md.panic)
- setup_panic();
-
init_mm.start_code = (unsigned long)_stext;
init_mm.end_code = (unsigned long) _etext;
init_mm.end_data = (unsigned long) _edata;
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 3fd59bca06f7..f55c25dff02c 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -649,6 +649,8 @@ void __init setup_arch(char **cmdline_p)
/* Probe the machine type */
probe_machine();
+ setup_panic();
+
/*
* We can discover serial ports now since the above did setup the
* hash table management for us, thus ioremap works. We do that early
@@ -696,9 +698,6 @@ void __init setup_arch(char **cmdline_p)
*/
reserve_hugetlb_gpages();
- if (ppc_md.panic)
- setup_panic();
-
klp_init_thread_info(&init_thread_info);
init_mm.start_code = (unsigned long)_stext;