aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2013-07-24 03:27:39 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-07-25 20:19:54 -0400
commit5489cde560f2b13dc9fb34e2d7dfd09a69fa21b1 (patch)
treeff3916e41a915eb5be73f1db413588bef850d795
parentcfa66a81621d0e85ac03c0de25adc7edd7f2649e (diff)
ARM: shmobile: sh73a0: Rely on DT for SMP CPU info
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>
-rw-r--r--arch/arm/mach-shmobile/smp-sh73a0.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c
index d613113a04bd..1b3dc7c1e87e 100644
--- a/arch/arm/mach-shmobile/smp-sh73a0.c
+++ b/arch/arm/mach-shmobile/smp-sh73a0.c
@@ -62,6 +62,8 @@ static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct
62 62
63static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus) 63static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus)
64{ 64{
65 /* setup sh73a0 specific SCU base */
66 shmobile_scu_base = IOMEM(SH73A0_SCU_BASE);
65 scu_enable(shmobile_scu_base); 67 scu_enable(shmobile_scu_base);
66 68
67 /* Map the reset vector (in headsmp-scu.S, headsmp.S) */ 69 /* 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)
74 scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL); 76 scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
75} 77}
76 78
77static void __init sh73a0_smp_init_cpus(void)
78{
79 /* setup sh73a0 specific SCU base */
80 shmobile_scu_base = IOMEM(SH73A0_SCU_BASE);
81
82 shmobile_smp_init_cpus(scu_get_core_count(shmobile_scu_base));
83}
84
85#ifdef CONFIG_HOTPLUG_CPU 79#ifdef CONFIG_HOTPLUG_CPU
86static int sh73a0_cpu_kill(unsigned int cpu) 80static int sh73a0_cpu_kill(unsigned int cpu)
87{ 81{
@@ -120,7 +114,6 @@ static int sh73a0_cpu_disable(unsigned int cpu)
120#endif /* CONFIG_HOTPLUG_CPU */ 114#endif /* CONFIG_HOTPLUG_CPU */
121 115
122struct smp_operations sh73a0_smp_ops __initdata = { 116struct smp_operations sh73a0_smp_ops __initdata = {
123 .smp_init_cpus = sh73a0_smp_init_cpus,
124 .smp_prepare_cpus = sh73a0_smp_prepare_cpus, 117 .smp_prepare_cpus = sh73a0_smp_prepare_cpus,
125 .smp_boot_secondary = sh73a0_boot_secondary, 118 .smp_boot_secondary = sh73a0_boot_secondary,
126#ifdef CONFIG_HOTPLUG_CPU 119#ifdef CONFIG_HOTPLUG_CPU