ARM: shmobile: sh73a0: Rely on DT for SMP CPU info
authorMagnus Damm <damm@opensource.se>
Wed, 24 Jul 2013 07:27:39 +0000 (16:27 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Fri, 26 Jul 2013 00:19:54 +0000 (09:19 +0900)
Remove sh73a0 specific ->smp_init_cpus() callback and
instead of relying on shmobile_smp_init_cpus() simply
use DT for CPU core information.

This assumes that DT_MACHINE_START is used which is
the case when AG5EVM and Kota2 are removed.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/smp-sh73a0.c

index d613113a04bda27f12042803a92fe239be567a9b..1b3dc7c1e87e3e5b7f1d7c5c08310b535ac82560 100644 (file)
@@ -62,6 +62,8 @@ static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct
 
 static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus)
 {
+       /* setup sh73a0 specific SCU base */
+       shmobile_scu_base = IOMEM(SH73A0_SCU_BASE);
        scu_enable(shmobile_scu_base);
 
        /* Map the reset vector (in headsmp-scu.S, headsmp.S) */
@@ -74,14 +76,6 @@ static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus)
        scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
 }
 
-static void __init sh73a0_smp_init_cpus(void)
-{
-       /* setup sh73a0 specific SCU base */
-       shmobile_scu_base = IOMEM(SH73A0_SCU_BASE);
-
-       shmobile_smp_init_cpus(scu_get_core_count(shmobile_scu_base));
-}
-
 #ifdef CONFIG_HOTPLUG_CPU
 static int sh73a0_cpu_kill(unsigned int cpu)
 {
@@ -120,7 +114,6 @@ static int sh73a0_cpu_disable(unsigned int cpu)
 #endif /* CONFIG_HOTPLUG_CPU */
 
 struct smp_operations sh73a0_smp_ops __initdata = {
-       .smp_init_cpus          = sh73a0_smp_init_cpus,
        .smp_prepare_cpus       = sh73a0_smp_prepare_cpus,
        .smp_boot_secondary     = sh73a0_boot_secondary,
 #ifdef CONFIG_HOTPLUG_CPU