diff options
author | Soren Brinkmann <soren.brinkmann@xilinx.com> | 2014-09-02 23:19:13 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2014-09-16 12:55:10 +0200 |
commit | caf86a73eab4132f870e883216850d9eee40b04b (patch) | |
tree | eef994b37bfb32e88251724d6ee8f1cc9d49369e /arch/arm/mach-zynq/platsmp.c | |
parent | ARM: zynq: Synchronise zynq_cpu_die/kill (diff) | |
download | linux-caf86a73eab4132f870e883216850d9eee40b04b.tar.xz linux-caf86a73eab4132f870e883216850d9eee40b04b.zip |
ARM: zynq: Remove hotplug.c
The hotplug code contains only a single function, which is an SMP
function. Move that to platsmp.c where all other SMP runctions reside.
That allows removing hotplug.c and declaring the cpu_die function
static.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/mach-zynq/platsmp.c')
-rw-r--r-- | arch/arm/mach-zynq/platsmp.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-zynq/platsmp.c b/arch/arm/mach-zynq/platsmp.c index 06415eeba7e6..f722b5a83a45 100644 --- a/arch/arm/mach-zynq/platsmp.c +++ b/arch/arm/mach-zynq/platsmp.c @@ -136,6 +136,24 @@ static int zynq_cpu_kill(unsigned cpu) zynq_slcr_cpu_stop(cpu); return 1; } + +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +static void zynq_platform_cpu_die(unsigned int cpu) +{ + zynq_slcr_cpu_state_write(cpu, true); + + /* + * there is no power-control hardware on this platform, so all + * we can do is put the core into WFI; this is safe as the calling + * code will have already disabled interrupts + */ + for (;;) + cpu_do_idle(); +} #endif struct smp_operations zynq_smp_ops __initdata = { |