]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/pmc-sierra/yosemite/prom.c
Merge commit 'origin/master'
[linux-2.6-omap-h63xx.git] / arch / mips / pmc-sierra / yosemite / prom.c
index 165275c00cbb9c8fb42ebf9cbf64807725f67c95..cf4c868715acaaba37e9aec317d0224ca5b6d060 100644 (file)
@@ -8,7 +8,6 @@
  * Author: Manish Lachwani (lachwani@pmc-sierra.com)
  * Copyright (C) 2004 Ralf Baechle
  */
-#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
@@ -20,6 +19,7 @@
 #include <asm/pgtable.h>
 #include <asm/processor.h>
 #include <asm/reboot.h>
+#include <asm/smp-ops.h>
 #include <asm/system.h>
 #include <asm/bootinfo.h>
 #include <asm/pmon.h>
@@ -35,7 +35,7 @@ extern void prom_grab_secondary(void);
 struct callvectors *debug_vectors;
 
 extern unsigned long yosemite_base;
-extern unsigned long cpu_clock;
+extern unsigned long cpu_clock_freq;
 
 const char *get_system_type(void)
 {
@@ -64,7 +64,7 @@ static void prom_exit(void)
 #ifdef CONFIG_SMP
        if (smp_processor_id())
                /* CPU 1 */
-               smp_call_function(prom_cpu0_exit, NULL, 1, 1);
+               smp_call_function(prom_cpu0_exit, NULL, 1);
 #endif
        prom_cpu0_exit(NULL);
 }
@@ -79,6 +79,8 @@ static void prom_halt(void)
                __asm__(".set\tmips3\n\t" "wait\n\t" ".set\tmips0");
 }
 
+extern struct plat_smp_ops yos_smp_ops;
+
 /*
  * Init routine which accepts the variables from PMON
  */
@@ -120,22 +122,20 @@ void __init prom_init(void)
                                          16);
 
                if (strncmp("cpuclock", *env, strlen("cpuclock")) == 0)
-                       cpu_clock =
+                       cpu_clock_freq =
                            simple_strtol(*env + strlen("cpuclock="), NULL,
                                          10);
 
                env++;
        }
 
-       mips_machgroup = MACH_GROUP_TITAN;
-       mips_machtype = MACH_TITAN_YOSEMITE;
-
        prom_grab_secondary();
+
+       register_smp_ops(&yos_smp_ops);
 }
 
-unsigned long __init prom_free_prom_memory(void)
+void __init prom_free_prom_memory(void)
 {
-       return 0;
 }
 
 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)