From f4e2e9a4b26789d963000f974f2dc80230bb4674 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Mar 2013 22:50:04 +0100 Subject: [PATCH] xtensa: Use generic idle loop Signed-off-by: Thomas Gleixner Cc: Linus Torvalds Cc: Rusty Russell Cc: Paul McKenney Cc: Peter Zijlstra Reviewed-by: Srivatsa S. Bhat Cc: Magnus Damm Acked-by: Chris Zankel Link: http://lkml.kernel.org/r/20130321215235.546600507@linutronix.de Signed-off-by: Thomas Gleixner --- arch/xtensa/Kconfig | 1 + arch/xtensa/kernel/process.c | 14 ++------------ 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index b09de49dbec5..e0144ff4624d 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -19,6 +19,7 @@ config XTENSA select CLONE_BACKWARDS select IRQ_DOMAIN select HAVE_OPROFILE + select GENERIC_IDLE_LOOP help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c index 5cd82e9f601c..1c85323f01d7 100644 --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c @@ -105,19 +105,9 @@ void coprocessor_flush_all(struct thread_info *ti) /* * Powermanagement idle function, if any is provided by the platform. */ - -void cpu_idle(void) +void arch_cpu_idle(void) { - local_irq_enable(); - - /* endless idle loop with no priority at all */ - while (1) { - rcu_idle_enter(); - while (!need_resched()) - platform_idle(); - rcu_idle_exit(); - schedule_preempt_disabled(); - } + platform_idle(); } /*