aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-highbank
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-highbank')
-rw-r--r--arch/arm/mach-highbank/hotplug.c10
-rw-r--r--arch/arm/mach-highbank/platsmp.c7
2 files changed, 4 insertions, 13 deletions
diff --git a/arch/arm/mach-highbank/hotplug.c b/arch/arm/mach-highbank/hotplug.c
index f30c52843396..890cae23c12a 100644
--- a/arch/arm/mach-highbank/hotplug.c
+++ b/arch/arm/mach-highbank/hotplug.c
@@ -28,13 +28,11 @@ extern void secondary_startup(void);
28 */ 28 */
29void __ref highbank_cpu_die(unsigned int cpu) 29void __ref highbank_cpu_die(unsigned int cpu)
30{ 30{
31 flush_cache_all();
32
33 highbank_set_cpu_jump(cpu, phys_to_virt(0)); 31 highbank_set_cpu_jump(cpu, phys_to_virt(0));
34 highbank_set_core_pwr();
35 32
36 cpu_do_idle(); 33 flush_cache_louis();
34 highbank_set_core_pwr();
37 35
38 /* We should never return from idle */ 36 while (1)
39 panic("highbank: cpu %d unexpectedly exit from shutdown\n", cpu); 37 cpu_do_idle();
40} 38}
diff --git a/arch/arm/mach-highbank/platsmp.c b/arch/arm/mach-highbank/platsmp.c
index 8797a7001720..a984573e0d02 100644
--- a/arch/arm/mach-highbank/platsmp.c
+++ b/arch/arm/mach-highbank/platsmp.c
@@ -17,7 +17,6 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/smp.h> 18#include <linux/smp.h>
19#include <linux/io.h> 19#include <linux/io.h>
20#include <linux/irqchip/arm-gic.h>
21 20
22#include <asm/smp_scu.h> 21#include <asm/smp_scu.h>
23 22
@@ -25,11 +24,6 @@
25 24
26extern void secondary_startup(void); 25extern void secondary_startup(void);
27 26
28static void __cpuinit highbank_secondary_init(unsigned int cpu)
29{
30 gic_secondary_init(0);
31}
32
33static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle) 27static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
34{ 28{
35 highbank_set_cpu_jump(cpu, secondary_startup); 29 highbank_set_cpu_jump(cpu, secondary_startup);
@@ -67,7 +61,6 @@ static void __init highbank_smp_prepare_cpus(unsigned int max_cpus)
67struct smp_operations highbank_smp_ops __initdata = { 61struct smp_operations highbank_smp_ops __initdata = {
68 .smp_init_cpus = highbank_smp_init_cpus, 62 .smp_init_cpus = highbank_smp_init_cpus,
69 .smp_prepare_cpus = highbank_smp_prepare_cpus, 63 .smp_prepare_cpus = highbank_smp_prepare_cpus,
70 .smp_secondary_init = highbank_secondary_init,
71 .smp_boot_secondary = highbank_boot_secondary, 64 .smp_boot_secondary = highbank_boot_secondary,
72#ifdef CONFIG_HOTPLUG_CPU 65#ifdef CONFIG_HOTPLUG_CPU
73 .cpu_die = highbank_cpu_die, 66 .cpu_die = highbank_cpu_die,