diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap-smp.c')
-rw-r--r-- | arch/arm/mach-omap2/omap-smp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c index cd42d921940d..d9727218dd0a 100644 --- a/arch/arm/mach-omap2/omap-smp.c +++ b/arch/arm/mach-omap2/omap-smp.c | |||
@@ -19,9 +19,9 @@ | |||
19 | #include <linux/device.h> | 19 | #include <linux/device.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/irqchip/arm-gic.h> | ||
22 | 23 | ||
23 | #include <asm/cacheflush.h> | 24 | #include <asm/cacheflush.h> |
24 | #include <asm/hardware/gic.h> | ||
25 | #include <asm/smp_scu.h> | 25 | #include <asm/smp_scu.h> |
26 | 26 | ||
27 | #include "omap-secure.h" | 27 | #include "omap-secure.h" |
@@ -157,7 +157,7 @@ static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct * | |||
157 | booted = true; | 157 | booted = true; |
158 | } | 158 | } |
159 | 159 | ||
160 | gic_raise_softirq(cpumask_of(cpu), 0); | 160 | arch_send_wakeup_ipi_mask(cpumask_of(cpu)); |
161 | 161 | ||
162 | /* | 162 | /* |
163 | * Now the secondary core is starting up let it run its | 163 | * Now the secondary core is starting up let it run its |
@@ -215,7 +215,7 @@ static void __init omap4_smp_init_cpus(void) | |||
215 | * Currently we can't call ioremap here because | 215 | * Currently we can't call ioremap here because |
216 | * SoC detection won't work until after init_early. | 216 | * SoC detection won't work until after init_early. |
217 | */ | 217 | */ |
218 | scu_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_SCU_BASE); | 218 | scu_base = OMAP2_L4_IO_ADDRESS(scu_a9_get_base()); |
219 | BUG_ON(!scu_base); | 219 | BUG_ON(!scu_base); |
220 | ncores = scu_get_core_count(scu_base); | 220 | ncores = scu_get_core_count(scu_base); |
221 | } else if (cpu_id == CPU_CORTEX_A15) { | 221 | } else if (cpu_id == CPU_CORTEX_A15) { |
@@ -231,8 +231,6 @@ static void __init omap4_smp_init_cpus(void) | |||
231 | 231 | ||
232 | for (i = 0; i < ncores; i++) | 232 | for (i = 0; i < ncores; i++) |
233 | set_cpu_possible(i, true); | 233 | set_cpu_possible(i, true); |
234 | |||
235 | set_smp_cross_call(gic_raise_softirq); | ||
236 | } | 234 | } |
237 | 235 | ||
238 | static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) | 236 | static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) |