diff options
author | Alex Chiang <achiang@hp.com> | 2010-02-22 12:11:55 -0700 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-03-14 21:17:25 -0400 |
commit | eae701ceadf5aa3fc3b334029ef71f6885ef1cde (patch) | |
tree | f29640511c27d52a953db35d8716e7c309f0a2f6 /drivers/acpi | |
parent | d67420956b7b1dcffb894b2f1f81b9408fca1b4c (diff) | |
download | linux-eae701ceadf5aa3fc3b334029ef71f6885ef1cde.tar.gz linux-eae701ceadf5aa3fc3b334029ef71f6885ef1cde.tar.bz2 linux-eae701ceadf5aa3fc3b334029ef71f6885ef1cde.zip |
ACPI: processor: refactor internal map_lsapic_id()
Un-nest the if statements for readability.
Remove comments that re-state the obvious.
Change the control flow so that we no longer need a temp variable.
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_core.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 18fa6337c12c..ee9bce18c084 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c @@ -83,27 +83,17 @@ static int map_lsapic_id(struct acpi_subtable_header *entry, { struct acpi_madt_local_sapic *lsapic = (struct acpi_madt_local_sapic *)entry; - u32 tmp = (lsapic->id << 8) | lsapic->eid; - /* Only check enabled APICs*/ if (!(lsapic->lapic_flags & ACPI_MADT_ENABLED)) return 0; - /* Device statement declaration type */ if (device_declaration) { - if (entry->length < 16) - printk(KERN_ERR PREFIX - "Invalid LSAPIC with Device type processor (SAPIC ID %#x)\n", - tmp); - else if (lsapic->uid == acpi_id) - goto found; - /* Processor statement declaration type */ - } else if (lsapic->processor_id == acpi_id) - goto found; + if ((entry->length < 16) || (lsapic->uid != acpi_id)) + return 0; + } else if (lsapic->processor_id != acpi_id) + return 0; - return 0; -found: - *apic_id = tmp; + *apic_id = (lsapic->id << 8) | lsapic->eid; return 1; } |