Commit ccf8e78f authored by Thomas Gleixner's avatar Thomas Gleixner

frv: Use generic idle loop

Signed-off-by: default avatarThomas 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: default avatarCc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Link: http://lkml.kernel.org/r/20130321215234.217235264@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 8dc7c5ec
...@@ -8,6 +8,7 @@ config FRV ...@@ -8,6 +8,7 @@ config FRV
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_IDLE_LOOP
select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_BUGVERBOSE
select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_HAVE_NMI_SAFE_CMPXCHG
select GENERIC_CPU_DEVICES select GENERIC_CPU_DEVICES
......
...@@ -59,29 +59,12 @@ static void core_sleep_idle(void) ...@@ -59,29 +59,12 @@ static void core_sleep_idle(void)
mb(); mb();
} }
void (*idle)(void) = core_sleep_idle; void arch_cpu_idle(void)
/*
* The idle thread. There's no useful work to be
* done, so just try to conserve power and have a
* low exit latency (ie sit in a loop waiting for
* somebody to say that they'd like to reschedule)
*/
void cpu_idle(void)
{ {
/* endless idle loop with no priority at all */ if (!frv_dma_inprogress)
while (1) { core_sleep_idle();
rcu_idle_enter(); else
while (!need_resched()) { local_irq_enable();
check_pgt_cache();
if (!frv_dma_inprogress && idle)
idle();
}
rcu_idle_exit();
schedule_preempt_disabled();
}
} }
void machine_restart(char * __unused) void machine_restart(char * __unused)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment