From facd065da922c33ab2a73da051ff2ee7e375848d Mon Sep 17 00:00:00 2001 From: Len Brown Date: Fri, 1 Apr 2011 18:28:35 -0400 Subject: [PATCH] --- yaml --- r: 262372 b: refs/heads/master c: d91ee5863b71e8c90eaf6035bff3078a85e2e7b5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/xen/setup.c | 3 ++- trunk/drivers/cpuidle/cpuidle.c | 4 ++++ trunk/include/linux/cpuidle.h | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 846e2566e37c..270ffa25ccd3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 62027aea23fcd14478abdddd3b74a4e0f5fb2984 +refs/heads/master: d91ee5863b71e8c90eaf6035bff3078a85e2e7b5 diff --git a/trunk/arch/x86/xen/setup.c b/trunk/arch/x86/xen/setup.c index 60aeeb56948f..a9627e2e3295 100644 --- a/trunk/arch/x86/xen/setup.c +++ b/trunk/arch/x86/xen/setup.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -426,7 +427,7 @@ void __init xen_arch_setup(void) #ifdef CONFIG_X86_32 boot_cpu_data.hlt_works_ok = 1; #endif - pm_idle = default_idle; + disable_cpuidle(); boot_option_idle_override = IDLE_HALT; fiddle_vdso(); diff --git a/trunk/drivers/cpuidle/cpuidle.c b/trunk/drivers/cpuidle/cpuidle.c index faae2c357bab..041df0b056b2 100644 --- a/trunk/drivers/cpuidle/cpuidle.c +++ b/trunk/drivers/cpuidle/cpuidle.c @@ -34,6 +34,10 @@ int cpuidle_disabled(void) { return off; } +void disable_cpuidle(void) +{ + off = 1; +} #if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT) static void cpuidle_kick_cpus(void) diff --git a/trunk/include/linux/cpuidle.h b/trunk/include/linux/cpuidle.h index 36719ead50e8..b89f67da919e 100644 --- a/trunk/include/linux/cpuidle.h +++ b/trunk/include/linux/cpuidle.h @@ -122,6 +122,7 @@ struct cpuidle_driver { }; #ifdef CONFIG_CPU_IDLE +extern void disable_cpuidle(void); extern int cpuidle_register_driver(struct cpuidle_driver *drv); struct cpuidle_driver *cpuidle_get_driver(void); @@ -135,6 +136,7 @@ extern int cpuidle_enable_device(struct cpuidle_device *dev); extern void cpuidle_disable_device(struct cpuidle_device *dev); #else +static inline void disable_cpuidle(void) { } static inline int cpuidle_register_driver(struct cpuidle_driver *drv) {return -ENODEV; }