[v6 PATCH 6/7]: POWER: add a default_idle idle loop for POWER.
From: Arun R Bharadwaj <hidden>
Date: 2009-09-22 11:32:56
Also in:
lkml
* Arun R Bharadwaj [off-list ref] [2009-09-22 16:55:27]: In arch/powerpc/kernel/idle.c create a default_idle() routine by moving the failover condition of the cpu_idle() idle loop. This is needed by cpuidle infrastructure to call default_idle when other idle routines are not yet registered. Functionality remains the same, but the code is slightly moved around. Signed-off-by: Arun R Bharadwaj <redacted> --- arch/powerpc/Kconfig | 3 +++ arch/powerpc/include/asm/system.h | 1 + arch/powerpc/kernel/idle.c | 6 ++++++ 3 files changed, 10 insertions(+) Index: linux.trees.git/arch/powerpc/Kconfig ===================================================================
--- linux.trees.git.orig/arch/powerpc/Kconfig
+++ linux.trees.git/arch/powerpc/Kconfig@@ -91,6 +91,9 @@ config ARCH_HAS_ILOG2_U64 config ARCH_HAS_CPU_IDLE_WAIT def_bool y +config ARCH_HAS_DEFAULT_IDLE + def_bool y + config GENERIC_HWEIGHT bool default y
Index: linux.trees.git/arch/powerpc/include/asm/system.h ===================================================================
--- linux.trees.git.orig/arch/powerpc/include/asm/system.h
+++ linux.trees.git/arch/powerpc/include/asm/system.h@@ -218,6 +218,7 @@ extern unsigned long klimit; extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask); +extern void default_idle(void); extern int powersave_nap; /* set if nap mode can be used in idle loop */ /*
Index: linux.trees.git/arch/powerpc/kernel/idle.c ===================================================================
--- linux.trees.git.orig/arch/powerpc/kernel/idle.c
+++ linux.trees.git/arch/powerpc/kernel/idle.c@@ -113,6 +113,12 @@ void cpu_idle_wait(void) } EXPORT_SYMBOL_GPL(cpu_idle_wait); +void default_idle(void) +{ + HMT_low(); + HMT_very_low(); +} + int powersave_nap; #ifdef CONFIG_SYSCTL