diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-09 11:12:31 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-09 11:12:31 -0800 |
commit | acac103e2d00c9bc7507838319c71a0f5dc50678 (patch) | |
tree | 562d193ec8dba3e3a174751951b4ea7e6d732c50 /drivers/cpuidle | |
parent | 5b39dba5029108800b94a5f4f96e3a05417103ac (diff) | |
parent | a52500c917ead55dd78d9f37b8ca993f4f79f72a (diff) | |
download | kernel-crypto-acac103e2d00c9bc7507838319c71a0f5dc50678.tar.gz kernel-crypto-acac103e2d00c9bc7507838319c71a0f5dc50678.tar.xz kernel-crypto-acac103e2d00c9bc7507838319c71a0f5dc50678.zip |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
Merge branches 'release' and 'buildfix' into release
acer-wmi - Add documentation
sonypi - Move sonypi.txt to Documentation/laptops
sony-laptop - Move sony-laptop.txt to Documentation/laptops
thinkpad-acpi - Move thinkpad-acpi.txt to Documentation/laptops
Documentation - Create laptops sub-directory
ACPI: thermal: buildfix for CONFIG_THERMAL=n
cpuidle: build fix for non-x86
acer-wmi: Fix backlight on AMW0 (V1) laptops
tc1100-wmi: Mark as experimental
ACPI: SBS: Host controller must initialize before SBS.
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r-- | drivers/cpuidle/cpuidle.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index 2c4b2d47973..60f71e6345e 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -27,6 +27,17 @@ static void (*pm_idle_old)(void); static int enabled_devices; +#if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT) +static void cpuidle_kick_cpus(void) +{ + cpu_idle_wait(); +} +#elif defined(CONFIG_SMP) +# error "Arch needs cpu_idle_wait() equivalent here" +#else /* !CONFIG_ARCH_HAS_CPU_IDLE_WAIT && !CONFIG_SMP */ +static void cpuidle_kick_cpus(void) {} +#endif + /** * cpuidle_idle_call - the main idle loop * @@ -83,7 +94,7 @@ void cpuidle_uninstall_idle_handler(void) { if (enabled_devices && (pm_idle != pm_idle_old)) { pm_idle = pm_idle_old; - cpu_idle_wait(); + cpuidle_kick_cpus(); } } |