Browse Source

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>
Nicolas Pitre 14 years ago
parent
commit
71e256c54d
2 changed files with 17 additions and 4 deletions
  1. 16 0
      arch/arm/mach-clps711x/common.c
  2. 1 4
      arch/arm/mach-clps711x/include/mach/system.h

+ 16 - 0
arch/arm/mach-clps711x/common.c

@@ -225,3 +225,19 @@ void clps711x_restart(char mode, const char *cmd)
 {
 {
 	soft_restart(0);
 	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);

+ 1 - 4
arch/arm/mach-clps711x/include/mach/system.h

@@ -26,10 +26,7 @@
 
 
 static inline void arch_idle(void)
 static inline void arch_idle(void)
 {
 {
-	clps_writel(1, HALT);
-	__asm__ __volatile__(
-	"mov	r0, r0\n\
-	mov	r0, r0");
+	cpu_do_idle();
 }
 }
 
 
 #endif
 #endif