Kaynağa Gözat

sparc32,leon: SMP power down implementation

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Daniel Hellstrom 14 yıl önce
ebeveyn
işleme
2645e7219e
1 değiştirilmiş dosya ile 10 ekleme ve 2 silme
  1. 10 2
      arch/sparc/kernel/process_32.c

+ 10 - 2
arch/sparc/kernel/process_32.c

@@ -128,8 +128,16 @@ void cpu_idle(void)
         set_thread_flag(TIF_POLLING_NRFLAG);
 	/* endless idle loop with no priority at all */
 	while(1) {
-		while (!need_resched())
-			cpu_relax();
+#ifdef CONFIG_SPARC_LEON
+		if (pm_idle) {
+			while (!need_resched())
+				(*pm_idle)();
+		} else
+#endif
+		{
+			while (!need_resched())
+				cpu_relax();
+		}
 		preempt_enable_no_resched();
 		schedule();
 		preempt_disable();