diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2013-03-21 17:50:04 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2013-04-08 11:39:29 -0400 |
commit | f4e2e9a4b26789d963000f974f2dc80230bb4674 (patch) | |
tree | 14773281c4e226fd4ee4122c09a18b5509c3d0b9 /arch/xtensa | |
parent | 7d1a941731fabf27e5fb6edbebb79fe856edb4e5 (diff) |
xtensa: Use generic idle 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: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Acked-by: Chris Zankel <chris@zankel.net>
Link: http://lkml.kernel.org/r/20130321215235.546600507@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/xtensa')
-rw-r--r-- | arch/xtensa/Kconfig | 1 | ||||
-rw-r--r-- | 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 | |||
19 | select CLONE_BACKWARDS | 19 | select CLONE_BACKWARDS |
20 | select IRQ_DOMAIN | 20 | select IRQ_DOMAIN |
21 | select HAVE_OPROFILE | 21 | select HAVE_OPROFILE |
22 | select GENERIC_IDLE_LOOP | ||
22 | help | 23 | help |
23 | Xtensa processors are 32-bit RISC machines designed by Tensilica | 24 | Xtensa processors are 32-bit RISC machines designed by Tensilica |
24 | primarily for embedded systems. These processors are both | 25 | 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) | |||
105 | /* | 105 | /* |
106 | * Powermanagement idle function, if any is provided by the platform. | 106 | * Powermanagement idle function, if any is provided by the platform. |
107 | */ | 107 | */ |
108 | 108 | void arch_cpu_idle(void) | |
109 | void cpu_idle(void) | ||
110 | { | 109 | { |
111 | local_irq_enable(); | 110 | platform_idle(); |
112 | |||
113 | /* endless idle loop with no priority at all */ | ||
114 | while (1) { | ||
115 | rcu_idle_enter(); | ||
116 | while (!need_resched()) | ||
117 | platform_idle(); | ||
118 | rcu_idle_exit(); | ||
119 | schedule_preempt_disabled(); | ||
120 | } | ||
121 | } | 111 | } |
122 | 112 | ||
123 | /* | 113 | /* |