diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2011-09-08 08:15:22 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-09-14 05:14:50 -0400 |
commit | 06853ae475e1386d6d11d139ba7bf2c97b3d1768 (patch) | |
tree | 601470fcced6d92d29017b6efefbb4bdc2008a0f /arch/arm/mach-exynos/hotplug.c | |
parent | a17257322f5e6ca376c15908b55423369274fcad (diff) |
ARM: SoC: convert Exynos4 to SMP operations
Convert Exynos4 to use struct smp_operations to provide its SMP
and CPU hotplug operations.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-exynos/hotplug.c')
-rw-r--r-- | arch/arm/mach-exynos/hotplug.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 9c17a0a43858..edccc36dd692 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c | |||
@@ -21,6 +21,8 @@ | |||
21 | 21 | ||
22 | #include <mach/regs-pmu.h> | 22 | #include <mach/regs-pmu.h> |
23 | 23 | ||
24 | #include "common.h" | ||
25 | |||
24 | extern volatile int pen_release; | 26 | extern volatile int pen_release; |
25 | 27 | ||
26 | static inline void cpu_enter_lowpower(void) | 28 | static inline void cpu_enter_lowpower(void) |
@@ -95,17 +97,12 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
95 | } | 97 | } |
96 | } | 98 | } |
97 | 99 | ||
98 | int platform_cpu_kill(unsigned int cpu) | ||
99 | { | ||
100 | return 1; | ||
101 | } | ||
102 | |||
103 | /* | 100 | /* |
104 | * platform-specific code to shutdown a CPU | 101 | * platform-specific code to shutdown a CPU |
105 | * | 102 | * |
106 | * Called with IRQs disabled | 103 | * Called with IRQs disabled |
107 | */ | 104 | */ |
108 | void platform_cpu_die(unsigned int cpu) | 105 | void __ref exynos_cpu_die(unsigned int cpu) |
109 | { | 106 | { |
110 | int spurious = 0; | 107 | int spurious = 0; |
111 | 108 | ||
@@ -124,12 +121,3 @@ void platform_cpu_die(unsigned int cpu) | |||
124 | if (spurious) | 121 | if (spurious) |
125 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); | 122 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); |
126 | } | 123 | } |
127 | |||
128 | int platform_cpu_disable(unsigned int cpu) | ||
129 | { | ||
130 | /* | ||
131 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
132 | * e.g. clock tick interrupts) | ||
133 | */ | ||
134 | return cpu == 0 ? -EPERM : 0; | ||
135 | } | ||