aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-06-23 10:52:36 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-23 10:52:36 -0400
commit37224470c8c6d90a4062e76a08d4dc1fcf91fc89 (patch)
tree627f537177bf8e951c12bec04c4a85f0125f5ece /drivers/acpi/processor_core.c
parente83319510b04dd51a60da8a0b4ccf8b92b3ab1ad (diff)
parentae6c859b7dcd708efadf1c76279c33db213e3506 (diff)
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: (65 commits) ACPI: suppress power button event on S3 resume ACPI: resolve merge conflict between sem2mutex and processor_perflib.c ACPI: use for_each_possible_cpu() instead of for_each_cpu() ACPI: delete newly added debugging macros in processor_perflib.c ACPI: UP build fix for bugzilla-5737 Enable P-state software coordination via _PDC P-state software coordination for speedstep-centrino P-state software coordination for acpi-cpufreq P-state software coordination for ACPI core ACPI: create acpi_thermal_resume() ACPI: create acpi_fan_suspend()/acpi_fan_resume() ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend() ACPI: create acpi_device_suspend()/acpi_device_resume() ACPI: replace spin_lock_irq with mutex for ec poll mode ACPI: Allow a WAN module enable/disable on a Thinkpad X60. sem2mutex: acpi, acpi_link_lock ACPI: delete unused acpi_bus_drivers_lock sem2mutex: drivers/acpi/processor_perflib.c ACPI add ia64 exports to build acpi_memhotplug as a module ACPI: asus_acpi_init(): propagate correct return value ... Manual resolve of conflicts in: arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c include/acpi/processor.h
Diffstat (limited to 'drivers/acpi/processor_core.c')
-rw-r--r--drivers/acpi/processor_core.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index ab00afec26f..decaebb4cbe 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -388,7 +388,7 @@ static int acpi_processor_remove_fs(struct acpi_device *device)
388 388
389/* Use the acpiid in MADT to map cpus in case of SMP */ 389/* Use the acpiid in MADT to map cpus in case of SMP */
390#ifndef CONFIG_SMP 390#ifndef CONFIG_SMP
391#define convert_acpiid_to_cpu(acpi_id) (0xff) 391#define convert_acpiid_to_cpu(acpi_id) (-1)
392#else 392#else
393 393
394#ifdef CONFIG_IA64 394#ifdef CONFIG_IA64
@@ -401,7 +401,7 @@ static int acpi_processor_remove_fs(struct acpi_device *device)
401#define ARCH_BAD_APICID (0xff) 401#define ARCH_BAD_APICID (0xff)
402#endif 402#endif
403 403
404static u8 convert_acpiid_to_cpu(u8 acpi_id) 404static int convert_acpiid_to_cpu(u8 acpi_id)
405{ 405{
406 u16 apic_id; 406 u16 apic_id;
407 int i; 407 int i;
@@ -427,7 +427,7 @@ static int acpi_processor_get_info(struct acpi_processor *pr)
427 acpi_status status = 0; 427 acpi_status status = 0;
428 union acpi_object object = { 0 }; 428 union acpi_object object = { 0 };
429 struct acpi_buffer buffer = { sizeof(union acpi_object), &object }; 429 struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
430 u8 cpu_index; 430 int cpu_index;
431 static int cpu0_initialized; 431 static int cpu0_initialized;
432 432
433 ACPI_FUNCTION_TRACE("acpi_processor_get_info"); 433 ACPI_FUNCTION_TRACE("acpi_processor_get_info");
@@ -473,7 +473,7 @@ static int acpi_processor_get_info(struct acpi_processor *pr)
473 cpu_index = convert_acpiid_to_cpu(pr->acpi_id); 473 cpu_index = convert_acpiid_to_cpu(pr->acpi_id);
474 474
475 /* Handle UP system running SMP kernel, with no LAPIC in MADT */ 475 /* Handle UP system running SMP kernel, with no LAPIC in MADT */
476 if (!cpu0_initialized && (cpu_index == 0xff) && 476 if (!cpu0_initialized && (cpu_index == -1) &&
477 (num_online_cpus() == 1)) { 477 (num_online_cpus() == 1)) {
478 cpu_index = 0; 478 cpu_index = 0;
479 } 479 }
@@ -487,7 +487,7 @@ static int acpi_processor_get_info(struct acpi_processor *pr)
487 * less than the max # of CPUs. They should be ignored _iff 487 * less than the max # of CPUs. They should be ignored _iff
488 * they are physically not present. 488 * they are physically not present.
489 */ 489 */
490 if (cpu_index >= NR_CPUS) { 490 if (cpu_index == -1) {
491 if (ACPI_FAILURE 491 if (ACPI_FAILURE
492 (acpi_processor_hotadd_init(pr->handle, &pr->id))) { 492 (acpi_processor_hotadd_init(pr->handle, &pr->id))) {
493 ACPI_DEBUG_PRINT((ACPI_DB_ERROR, 493 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
@@ -558,8 +558,8 @@ static int acpi_processor_start(struct acpi_device *device)
558 */ 558 */
559 if (processor_device_array[pr->id] != NULL && 559 if (processor_device_array[pr->id] != NULL &&
560 processor_device_array[pr->id] != (void *)device) { 560 processor_device_array[pr->id] != (void *)device) {
561 ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "BIOS reporting wrong ACPI id" 561 printk(KERN_WARNING "BIOS reported wrong ACPI id"
562 "for the processor\n")); 562 "for the processor\n");
563 return_VALUE(-ENODEV); 563 return_VALUE(-ENODEV);
564 } 564 }
565 processor_device_array[pr->id] = (void *)device; 565 processor_device_array[pr->id] = (void *)device;