@@ -687,6 +687,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);
}
@@ -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;
@@ -660,6 +660,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
@@ -708,9 +710,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;
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> --- arch/powerpc/kernel/setup-common.c | 2 ++ arch/powerpc/kernel/setup_32.c | 5 ++--- arch/powerpc/kernel/setup_64.c | 5 ++--- 3 files changed, 6 insertions(+), 6 deletions(-)