aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-clps711x
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2011-08-02 12:22:48 -0400
committerNicolas Pitre <nico@fluxnic.net>2012-01-20 18:55:10 -0500
commit71e256c54d67f55536bae184bb579c682714a95a (patch)
treebe8a4833c202a3b5597aebd8dd82073832c2c239 /arch/arm/mach-clps711x
parentc9dfafbaca0b66a6665242d019b3b9c5be056fcf (diff)
ARM: mach-clps711x: move special idle code out of line
... and hook it to arm_pm_idle. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/mach-clps711x')
-rw-r--r--arch/arm/mach-clps711x/common.c16
-rw-r--r--arch/arm/mach-clps711x/include/mach/system.h5
2 files changed, 17 insertions, 4 deletions
diff --git a/arch/arm/mach-clps711x/common.c b/arch/arm/mach-clps711x/common.c
index ab1711b9b4d..8736c1acc16 100644
--- a/arch/arm/mach-clps711x/common.c
+++ b/arch/arm/mach-clps711x/common.c
@@ -225,3 +225,19 @@ void clps711x_restart(char mode, const char *cmd)
225{ 225{
226 soft_restart(0); 226 soft_restart(0);
227} 227}
228
229static void clps711x_idle(void)
230{
231 clps_writel(1, HALT);
232 __asm__ __volatile__(
233 "mov r0, r0\n\
234 mov r0, r0");
235}
236
237static int __init clps711x_idle_init(void)
238{
239 arm_pm_idle = clps711x_idle;
240 return 0;
241}
242
243arch_initcall(clps711x_idle_init);
diff --git a/arch/arm/mach-clps711x/include/mach/system.h b/arch/arm/mach-clps711x/include/mach/system.h
index 23d6ef8c84d..0e74e1e9cc2 100644
--- a/arch/arm/mach-clps711x/include/mach/system.h
+++ b/arch/arm/mach-clps711x/include/mach/system.h
@@ -26,10 +26,7 @@
26 26
27static inline void arch_idle(void) 27static inline void arch_idle(void)
28{ 28{
29 clps_writel(1, HALT); 29 cpu_do_idle();
30 __asm__ __volatile__(
31 "mov r0, r0\n\
32 mov r0, r0");
33} 30}
34 31
35#endif 32#endif