Merge tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[pandora-kernel.git] / arch / arm / mach-tegra / platsmp.c
index 96ed171..81cb265 100644 (file)
@@ -33,6 +33,8 @@
 #include "reset.h"
 #include "tegra_cpu_car.h"
 
+#include "common.h"
+
 extern void tegra_secondary_startup(void);
 
 static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE);
@@ -40,7 +42,7 @@ static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE);
 #define EVP_CPU_RESET_VECTOR \
        (IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x100)
 
-void __cpuinit platform_secondary_init(unsigned int cpu)
+static void __cpuinit tegra_secondary_init(unsigned int cpu)
 {
        /*
         * if any interrupts are already enabled for the primary
@@ -100,7 +102,7 @@ static int tegra30_power_up_cpu(unsigned int cpu)
        return 0;
 }
 
-int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int __cpuinit tegra_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        int status;
 
@@ -146,7 +148,7 @@ done:
  * Initialise the CPU possible map early - this describes the CPUs
  * which may be present or become present in the system.
  */
-void __init smp_init_cpus(void)
+static void __init tegra_smp_init_cpus(void)
 {
        unsigned int i, ncores = scu_get_core_count(scu_base);
 
@@ -162,8 +164,19 @@ void __init smp_init_cpus(void)
        set_smp_cross_call(gic_raise_softirq);
 }
 
-void __init platform_smp_prepare_cpus(unsigned int max_cpus)
+static void __init tegra_smp_prepare_cpus(unsigned int max_cpus)
 {
        tegra_cpu_reset_handler_init();
        scu_enable(scu_base);
 }
+
+struct smp_operations tegra_smp_ops __initdata = {
+       .smp_init_cpus          = tegra_smp_init_cpus,
+       .smp_prepare_cpus       = tegra_smp_prepare_cpus,
+       .smp_secondary_init     = tegra_secondary_init,
+       .smp_boot_secondary     = tegra_boot_secondary,
+#ifdef CONFIG_HOTPLUG_CPU
+       .cpu_die                = tegra_cpu_die,
+       .cpu_disable            = tegra_cpu_disable,
+#endif
+};