alpha: Use generic idle loop
authorThomas Gleixner <tglx@linutronix.de>
Thu, 21 Mar 2013 21:49:37 +0000 (22:49 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 8 Apr 2013 15:39:23 +0000 (17:39 +0200)
The core provides a generic idle poll loop.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Reviewed-by: Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Link: http://lkml.kernel.org/r/20130321215233.766017538@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/alpha/Kconfig
arch/alpha/kernel/process.c
arch/alpha/kernel/smp.c

index 8a33ba0..6046982 100644 (file)
@@ -17,6 +17,7 @@ config ALPHA
        select ARCH_WANT_IPC_PARSE_VERSION
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_SMP_IDLE_THREAD
+       select GENERIC_IDLE_LOOP
        select GENERIC_CMOS_UPDATE
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
index 63d27fb..a3fd8a2 100644 (file)
 void (*pm_power_off)(void) = machine_power_off;
 EXPORT_SYMBOL(pm_power_off);
 
-void
-cpu_idle(void)
-{
-       current_thread_info()->status |= TS_POLLING;
-
-       while (1) {
-               /* FIXME -- EV6 and LCA45 know how to power down
-                  the CPU.  */
-
-               rcu_idle_enter();
-               while (!need_resched())
-                       cpu_relax();
-
-               rcu_idle_exit();
-               schedule_preempt_disabled();
-       }
-}
-
-
 struct halt_info {
        int mode;
        char *restart_cmd;
index 9603bc2..7b60834 100644 (file)
@@ -167,8 +167,7 @@ smp_callin(void)
              cpuid, current, current->active_mm));
 
        preempt_disable();
-       /* Do nothing.  */
-       cpu_idle();
+       cpu_startup_entry(CPUHP_ONLINE);
 }
 
 /* Wait until hwrpb->txrdy is clear for cpu.  Return -1 on timeout.  */