diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/acpi/numa.c | 6 | ||||
| -rw-r--r-- | drivers/acpi/tables.c | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c index dcd58a446f4b..bb6caab24322 100644 --- a/drivers/acpi/numa.c +++ b/drivers/acpi/numa.c | |||
| @@ -220,9 +220,7 @@ int __init acpi_numa_init(void) | |||
| 220 | int result; | 220 | int result; |
| 221 | 221 | ||
| 222 | /* SRAT: Static Resource Affinity Table */ | 222 | /* SRAT: Static Resource Affinity Table */ |
| 223 | result = acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat); | 223 | if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) { |
| 224 | |||
| 225 | if (result > 0) { | ||
| 226 | result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY, | 224 | result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY, |
| 227 | acpi_parse_processor_affinity, | 225 | acpi_parse_processor_affinity, |
| 228 | NR_CPUS); | 226 | NR_CPUS); |
| @@ -230,7 +228,7 @@ int __init acpi_numa_init(void) | |||
| 230 | } | 228 | } |
| 231 | 229 | ||
| 232 | /* SLIT: System Locality Information Table */ | 230 | /* SLIT: System Locality Information Table */ |
| 233 | result = acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit); | 231 | acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit); |
| 234 | 232 | ||
| 235 | acpi_numa_arch_fixup(); | 233 | acpi_numa_arch_fixup(); |
| 236 | return 0; | 234 | return 0; |
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c index ba4cb200314a..2075ec7b827b 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c | |||
| @@ -226,6 +226,15 @@ acpi_table_parse_madt(enum acpi_madt_type id, | |||
| 226 | handler, max_entries); | 226 | handler, max_entries); |
| 227 | } | 227 | } |
| 228 | 228 | ||
| 229 | /** | ||
| 230 | * acpi_table_parse - find table with @id, run @handler on it | ||
| 231 | * | ||
| 232 | * @id: table id to find | ||
| 233 | * @handler: handler to run | ||
| 234 | * | ||
| 235 | * Scan the ACPI System Descriptor Table (STD) for a table matching @id, | ||
| 236 | * run @handler on it. Return 0 if table found, return on if not. | ||
| 237 | */ | ||
| 229 | int __init acpi_table_parse(char *id, acpi_table_handler handler) | 238 | int __init acpi_table_parse(char *id, acpi_table_handler handler) |
| 230 | { | 239 | { |
| 231 | struct acpi_table_header *table = NULL; | 240 | struct acpi_table_header *table = NULL; |
| @@ -235,9 +244,9 @@ int __init acpi_table_parse(char *id, acpi_table_handler handler) | |||
| 235 | acpi_get_table(id, 0, &table); | 244 | acpi_get_table(id, 0, &table); |
| 236 | if (table) { | 245 | if (table) { |
| 237 | handler(table); | 246 | handler(table); |
| 238 | return 1; | ||
| 239 | } else | ||
| 240 | return 0; | 247 | return 0; |
| 248 | } else | ||
| 249 | return 1; | ||
| 241 | } | 250 | } |
| 242 | 251 | ||
| 243 | /* | 252 | /* |
