diff options
| -rw-r--r-- | arch/x86/include/asm/system.h | 1 | ||||
| -rw-r--r-- | arch/x86/kernel/process.c | 8 | ||||
| -rw-r--r-- | arch/x86/xen/setup.c | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h index c2ff2a1d845e..2d2f01ce6dcb 100644 --- a/arch/x86/include/asm/system.h +++ b/arch/x86/include/asm/system.h | |||
| @@ -401,6 +401,7 @@ extern unsigned long arch_align_stack(unsigned long sp); | |||
| 401 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); | 401 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); |
| 402 | 402 | ||
| 403 | void default_idle(void); | 403 | void default_idle(void); |
| 404 | bool set_pm_idle_to_default(void); | ||
| 404 | 405 | ||
| 405 | void stop_this_cpu(void *dummy); | 406 | void stop_this_cpu(void *dummy); |
| 406 | 407 | ||
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index b9b3b1a51643..ee5d4fbd53b4 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
| @@ -403,6 +403,14 @@ void default_idle(void) | |||
| 403 | EXPORT_SYMBOL(default_idle); | 403 | EXPORT_SYMBOL(default_idle); |
| 404 | #endif | 404 | #endif |
| 405 | 405 | ||
| 406 | bool set_pm_idle_to_default(void) | ||
| 407 | { | ||
| 408 | bool ret = !!pm_idle; | ||
| 409 | |||
| 410 | pm_idle = default_idle; | ||
| 411 | |||
| 412 | return ret; | ||
| 413 | } | ||
| 406 | void stop_this_cpu(void *dummy) | 414 | void stop_this_cpu(void *dummy) |
| 407 | { | 415 | { |
| 408 | local_irq_disable(); | 416 | local_irq_disable(); |
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 38d0af4fefec..1093f80c162d 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c | |||
| @@ -410,6 +410,6 @@ void __init xen_arch_setup(void) | |||
| 410 | #endif | 410 | #endif |
| 411 | disable_cpuidle(); | 411 | disable_cpuidle(); |
| 412 | boot_option_idle_override = IDLE_HALT; | 412 | boot_option_idle_override = IDLE_HALT; |
| 413 | 413 | WARN_ON(set_pm_idle_to_default()); | |
| 414 | fiddle_vdso(); | 414 | fiddle_vdso(); |
| 415 | } | 415 | } |
