diff options
author | Alex Chiang <achiang@hp.com> | 2010-02-22 14:11:55 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-03-14 21:17:25 -0400 |
commit | eae701ceadf5aa3fc3b334029ef71f6885ef1cde (patch) | |
tree | f29640511c27d52a953db35d8716e7c309f0a2f6 /drivers/acpi | |
parent | d67420956b7b1dcffb894b2f1f81b9408fca1b4c (diff) |
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, | |||
83 | { | 83 | { |
84 | struct acpi_madt_local_sapic *lsapic = | 84 | struct acpi_madt_local_sapic *lsapic = |
85 | (struct acpi_madt_local_sapic *)entry; | 85 | (struct acpi_madt_local_sapic *)entry; |
86 | u32 tmp = (lsapic->id << 8) | lsapic->eid; | ||
87 | 86 | ||
88 | /* Only check enabled APICs*/ | ||
89 | if (!(lsapic->lapic_flags & ACPI_MADT_ENABLED)) | 87 | if (!(lsapic->lapic_flags & ACPI_MADT_ENABLED)) |
90 | return 0; | 88 | return 0; |
91 | 89 | ||
92 | /* Device statement declaration type */ | ||
93 | if (device_declaration) { | 90 | if (device_declaration) { |
94 | if (entry->length < 16) | 91 | if ((entry->length < 16) || (lsapic->uid != acpi_id)) |
95 | printk(KERN_ERR PREFIX | 92 | return 0; |
96 | "Invalid LSAPIC with Device type processor (SAPIC ID %#x)\n", | 93 | } else if (lsapic->processor_id != acpi_id) |
97 | tmp); | 94 | return 0; |
98 | else if (lsapic->uid == acpi_id) | ||
99 | goto found; | ||
100 | /* Processor statement declaration type */ | ||
101 | } else if (lsapic->processor_id == acpi_id) | ||
102 | goto found; | ||
103 | 95 | ||
104 | return 0; | 96 | *apic_id = (lsapic->id << 8) | lsapic->eid; |
105 | found: | ||
106 | *apic_id = tmp; | ||
107 | return 1; | 97 | return 1; |
108 | } | 98 | } |
109 | 99 | ||