Calling register_smp_ops() in plat_mem_setup() is still early enough.
So by doing this we could remove the ugly #ifdef CONFIG_SGI_IP27 in
fw/arc/init.c.

Signed-off-by: Thomas Bogendoerfer <[email protected]>
---
 arch/mips/fw/arc/init.c          | 7 -------
 arch/mips/sgi-ip27/ip27-common.h | 1 +
 arch/mips/sgi-ip27/ip27-init.c   | 2 ++
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/arch/mips/fw/arc/init.c b/arch/mips/fw/arc/init.c
index 7b663455de6b..4ac6466a8872 100644
--- a/arch/mips/fw/arc/init.c
+++ b/arch/mips/fw/arc/init.c
@@ -54,11 +54,4 @@ void __init prom_init(void)
        ArcRead(0, &c, 1, &cnt);
        ArcEnterInteractiveMode();
 #endif
-#ifdef CONFIG_SGI_IP27
-       {
-               extern const struct plat_smp_ops ip27_smp_ops;
-
-               register_smp_ops(&ip27_smp_ops);
-       }
-#endif
 }
diff --git a/arch/mips/sgi-ip27/ip27-common.h b/arch/mips/sgi-ip27/ip27-common.h
index e9e9f1dc8c20..3ffbcf9bfd41 100644
--- a/arch/mips/sgi-ip27/ip27-common.h
+++ b/arch/mips/sgi-ip27/ip27-common.h
@@ -5,5 +5,6 @@
 
 extern void ip27_reboot_setup(void);
 extern void hub_rt_clock_event_init(void);
+extern const struct plat_smp_ops ip27_smp_ops;
 
 #endif /* __IP27_COMMON_H */
diff --git a/arch/mips/sgi-ip27/ip27-init.c b/arch/mips/sgi-ip27/ip27-init.c
index f48e2b3990f6..d160fb219d6d 100644
--- a/arch/mips/sgi-ip27/ip27-init.c
+++ b/arch/mips/sgi-ip27/ip27-init.c
@@ -120,6 +120,8 @@ void __init plat_mem_setup(void)
        u64 p, e, n_mode;
        nasid_t nid;
 
+       register_smp_ops(&ip27_smp_ops);
+
        ip27_reboot_setup();
 
        /*
-- 
2.16.4

Reply via email to