diff options
Diffstat (limited to 'arch/ia64/kernel/acpi.c')
| -rw-r--r-- | arch/ia64/kernel/acpi.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index ecd44bdc8394..4722ec51c70c 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
| @@ -284,19 +284,24 @@ acpi_parse_plat_int_src(acpi_table_entry_header * header, | |||
| 284 | return 0; | 284 | return 0; |
| 285 | } | 285 | } |
| 286 | 286 | ||
| 287 | #ifdef CONFIG_HOTPLUG_CPU | ||
| 287 | unsigned int can_cpei_retarget(void) | 288 | unsigned int can_cpei_retarget(void) |
| 288 | { | 289 | { |
| 289 | extern int cpe_vector; | 290 | extern int cpe_vector; |
| 291 | extern unsigned int force_cpei_retarget; | ||
| 290 | 292 | ||
| 291 | /* | 293 | /* |
| 292 | * Only if CPEI is supported and the override flag | 294 | * Only if CPEI is supported and the override flag |
| 293 | * is present, otherwise return that its re-targettable | 295 | * is present, otherwise return that its re-targettable |
| 294 | * if we are in polling mode. | 296 | * if we are in polling mode. |
| 295 | */ | 297 | */ |
| 296 | if (cpe_vector > 0 && !acpi_cpei_override) | 298 | if (cpe_vector > 0) { |
| 297 | return 0; | 299 | if (acpi_cpei_override || force_cpei_retarget) |
| 298 | else | 300 | return 1; |
| 299 | return 1; | 301 | else |
| 302 | return 0; | ||
| 303 | } | ||
| 304 | return 1; | ||
| 300 | } | 305 | } |
| 301 | 306 | ||
| 302 | unsigned int is_cpu_cpei_target(unsigned int cpu) | 307 | unsigned int is_cpu_cpei_target(unsigned int cpu) |
| @@ -315,6 +320,7 @@ void set_cpei_target_cpu(unsigned int cpu) | |||
| 315 | { | 320 | { |
| 316 | acpi_cpei_phys_cpuid = cpu_physical_id(cpu); | 321 | acpi_cpei_phys_cpuid = cpu_physical_id(cpu); |
| 317 | } | 322 | } |
| 323 | #endif | ||
| 318 | 324 | ||
| 319 | unsigned int get_cpei_target_cpu(void) | 325 | unsigned int get_cpei_target_cpu(void) |
| 320 | { | 326 | { |
