ARM: shmobile: r8a7779: Rely on DT for SMP CPU info
authorSimon Horman <horms+renesas@verge.net.au>
Wed, 24 Jul 2013 08:11:46 +0000 (17:11 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 30 Jul 2013 04:28:07 +0000 (13:28 +0900)
Remove r8a7779 specific ->smp_init_cpus() callback and
instead of relying on shmobile_smp_init_cpus() simply
use DT for CPU core information.

Based on work for the sh73a0 by Magnus Damm.

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

index 526cfaae81c1bd35897735db73aa309cbe30028f..bb3adae7de0fa243f4e4c1f327af94f0c0cc9f3e 100644 (file)
@@ -99,6 +99,9 @@ static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct
 
 static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus)
 {
+
+       /* setup r8a7779 specific SCU base */
+       shmobile_scu_base = IOMEM(R8A7779_SCU_BASE);
        scu_enable(shmobile_scu_base);
 
        /* Map the reset vector (in headsmp-scu.S, headsmp.S) */
@@ -117,14 +120,6 @@ static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus)
        r8a7779_platform_cpu_kill(3);
 }
 
-static void __init r8a7779_smp_init_cpus(void)
-{
-       /* setup r8a7779 specific SCU base */
-       shmobile_scu_base = IOMEM(R8A7779_SCU_BASE);
-
-       shmobile_smp_init_cpus(scu_get_core_count(shmobile_scu_base));
-}
-
 #ifdef CONFIG_HOTPLUG_CPU
 static int r8a7779_scu_psr_core_disabled(int cpu)
 {
@@ -175,7 +170,6 @@ static int r8a7779_cpu_disable(unsigned int cpu)
 #endif /* CONFIG_HOTPLUG_CPU */
 
 struct smp_operations r8a7779_smp_ops  __initdata = {
-       .smp_init_cpus          = r8a7779_smp_init_cpus,
        .smp_prepare_cpus       = r8a7779_smp_prepare_cpus,
        .smp_boot_secondary     = r8a7779_boot_secondary,
 #ifdef CONFIG_HOTPLUG_CPU