|
@@ -28,6 +28,7 @@
|
|
#include <asm/io.h>
|
|
#include <asm/io.h>
|
|
#include <asm/system.h>
|
|
#include <asm/system.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/cacheflush.h>
|
|
|
|
+#include <asm/smp-ops.h>
|
|
#include <asm/traps.h>
|
|
#include <asm/traps.h>
|
|
|
|
|
|
#include <asm/gcmpregs.h>
|
|
#include <asm/gcmpregs.h>
|
|
@@ -358,15 +359,14 @@ void __init prom_init(void)
|
|
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
|
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
|
console_config();
|
|
console_config();
|
|
#endif
|
|
#endif
|
|
-#ifdef CONFIG_MIPS_CMP
|
|
|
|
/* Early detection of CMP support */
|
|
/* Early detection of CMP support */
|
|
if (gcmp_probe(GCMP_BASE_ADDR, GCMP_ADDRSPACE_SZ))
|
|
if (gcmp_probe(GCMP_BASE_ADDR, GCMP_ADDRSPACE_SZ))
|
|
- register_smp_ops(&cmp_smp_ops);
|
|
|
|
- else
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_MIPS_MT_SMP
|
|
|
|
- register_smp_ops(&vsmp_smp_ops);
|
|
|
|
-#endif
|
|
|
|
|
|
+ if (!register_cmp_smp_ops())
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ if (!register_vsmp_smp_ops())
|
|
|
|
+ return;
|
|
|
|
+
|
|
#ifdef CONFIG_MIPS_MT_SMTC
|
|
#ifdef CONFIG_MIPS_MT_SMTC
|
|
register_smp_ops(&msmtc_smp_ops);
|
|
register_smp_ops(&msmtc_smp_ops);
|
|
#endif
|
|
#endif
|