ARM: mach-clps711x: move special idle code out of line
Nicolas Pitre [Tue, 2 Aug 2011 16:22:48 +0000 (12:22 -0400)]
... and hook it to arm_pm_idle.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>

arch/arm/mach-clps711x/common.c
arch/arm/mach-clps711x/include/mach/system.h

index ab1711b..8736c1a 100644 (file)
@@ -225,3 +225,19 @@ void clps711x_restart(char mode, const char *cmd)
 {
        soft_restart(0);
 }
+
+static void clps711x_idle(void)
+{
+       clps_writel(1, HALT);
+       __asm__ __volatile__(
+       "mov    r0, r0\n\
+       mov     r0, r0");
+}
+
+static int __init clps711x_idle_init(void)
+{
+       arm_pm_idle = clps711x_idle;
+       return 0;
+}
+
+arch_initcall(clps711x_idle_init);
index 23d6ef8..0e74e1e 100644 (file)
 
 static inline void arch_idle(void)
 {
-       clps_writel(1, HALT);
-       __asm__ __volatile__(
-       "mov    r0, r0\n\
-       mov     r0, r0");
+       cpu_do_idle();
 }
 
 #endif