aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Horman <horms+renesas@verge.net.au>2013-07-24 04:11:46 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-07-30 00:28:07 -0400
commitafad20105a58c06407ad9ad85c1cd9ca79d99e00 (patch)
tree63bb4be5f3cdca91621fbe7c3433a0752811e80d
parent7ebbb4ae6f2d6242178d332c67ad49772f9fe88d (diff)
ARM: shmobile: r8a7779: Rely on DT for SMP CPU info
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>
-rw-r--r--arch/arm/mach-shmobile/smp-r8a7779.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/arm/mach-shmobile/smp-r8a7779.c b/arch/arm/mach-shmobile/smp-r8a7779.c
index 526cfaae81c1..bb3adae7de0f 100644
--- a/arch/arm/mach-shmobile/smp-r8a7779.c
+++ b/arch/arm/mach-shmobile/smp-r8a7779.c
@@ -99,6 +99,9 @@ static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct
99 99
100static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus) 100static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus)
101{ 101{
102
103 /* setup r8a7779 specific SCU base */
104 shmobile_scu_base = IOMEM(R8A7779_SCU_BASE);
102 scu_enable(shmobile_scu_base); 105 scu_enable(shmobile_scu_base);
103 106
104 /* Map the reset vector (in headsmp-scu.S, headsmp.S) */ 107 /* 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)
117 r8a7779_platform_cpu_kill(3); 120 r8a7779_platform_cpu_kill(3);
118} 121}
119 122
120static void __init r8a7779_smp_init_cpus(void)
121{
122 /* setup r8a7779 specific SCU base */
123 shmobile_scu_base = IOMEM(R8A7779_SCU_BASE);
124
125 shmobile_smp_init_cpus(scu_get_core_count(shmobile_scu_base));
126}
127
128#ifdef CONFIG_HOTPLUG_CPU 123#ifdef CONFIG_HOTPLUG_CPU
129static int r8a7779_scu_psr_core_disabled(int cpu) 124static int r8a7779_scu_psr_core_disabled(int cpu)
130{ 125{
@@ -175,7 +170,6 @@ static int r8a7779_cpu_disable(unsigned int cpu)
175#endif /* CONFIG_HOTPLUG_CPU */ 170#endif /* CONFIG_HOTPLUG_CPU */
176 171
177struct smp_operations r8a7779_smp_ops __initdata = { 172struct smp_operations r8a7779_smp_ops __initdata = {
178 .smp_init_cpus = r8a7779_smp_init_cpus,
179 .smp_prepare_cpus = r8a7779_smp_prepare_cpus, 173 .smp_prepare_cpus = r8a7779_smp_prepare_cpus,
180 .smp_boot_secondary = r8a7779_boot_secondary, 174 .smp_boot_secondary = r8a7779_boot_secondary,
181#ifdef CONFIG_HOTPLUG_CPU 175#ifdef CONFIG_HOTPLUG_CPU