diff options
author | Magnus Damm <damm@opensource.se> | 2011-12-28 02:47:16 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-01-08 20:37:24 -0500 |
commit | 8b306796995609c281f6d32b3cbaa814551ad5ac (patch) | |
tree | cc15f092c9493d58004920855ac76fa691e71bd8 | |
parent | f0eab3889e4b5b71e1609c9850f652f06a812cf5 (diff) |
ARM: mach-shmobile: Allow SoC specific CPU kill code
Add the function shmobile_platform_kill_cpu() to allow
SoC specific code to tie in their CPU shutdown code.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/arm/mach-shmobile/hotplug.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/platsmp.c | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/hotplug.c b/arch/arm/mach-shmobile/hotplug.c index 238a0d97d2d5..aee3a1088a5a 100644 --- a/arch/arm/mach-shmobile/hotplug.c +++ b/arch/arm/mach-shmobile/hotplug.c | |||
@@ -12,10 +12,11 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <mach/common.h> | ||
15 | 16 | ||
16 | int platform_cpu_kill(unsigned int cpu) | 17 | int platform_cpu_kill(unsigned int cpu) |
17 | { | 18 | { |
18 | return 1; | 19 | return shmobile_platform_cpu_kill(cpu); |
19 | } | 20 | } |
20 | 21 | ||
21 | void platform_cpu_die(unsigned int cpu) | 22 | void platform_cpu_die(unsigned int cpu) |
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index be78a2c73db4..8b8d80c2a510 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -4,6 +4,7 @@ | |||
4 | extern struct sys_timer shmobile_timer; | 4 | extern struct sys_timer shmobile_timer; |
5 | extern void shmobile_setup_console(void); | 5 | extern void shmobile_setup_console(void); |
6 | extern void shmobile_secondary_vector(void); | 6 | extern void shmobile_secondary_vector(void); |
7 | extern int shmobile_platform_cpu_kill(unsigned int cpu); | ||
7 | struct clk; | 8 | struct clk; |
8 | extern int clk_init(void); | 9 | extern int clk_init(void); |
9 | extern void shmobile_handle_irq_intc(struct pt_regs *); | 10 | extern void shmobile_handle_irq_intc(struct pt_regs *); |
diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index c49a833bf9bb..3f3325d4206d 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c | |||
@@ -37,6 +37,11 @@ static void __init shmobile_smp_prepare_cpus(void) | |||
37 | sh73a0_smp_prepare_cpus(); | 37 | sh73a0_smp_prepare_cpus(); |
38 | } | 38 | } |
39 | 39 | ||
40 | int shmobile_platform_cpu_kill(unsigned int cpu) | ||
41 | { | ||
42 | return 1; | ||
43 | } | ||
44 | |||
40 | void __cpuinit platform_secondary_init(unsigned int cpu) | 45 | void __cpuinit platform_secondary_init(unsigned int cpu) |
41 | { | 46 | { |
42 | trace_hardirqs_off(); | 47 | trace_hardirqs_off(); |