diff options
Diffstat (limited to 'drivers/acpi/numa.c')
-rw-r--r-- | drivers/acpi/numa.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c index 4a9faff4c01d..8fcd6a15517f 100644 --- a/drivers/acpi/numa.c +++ b/drivers/acpi/numa.c | |||
@@ -33,7 +33,7 @@ | |||
33 | 33 | ||
34 | #define ACPI_NUMA 0x80000000 | 34 | #define ACPI_NUMA 0x80000000 |
35 | #define _COMPONENT ACPI_NUMA | 35 | #define _COMPONENT ACPI_NUMA |
36 | ACPI_MODULE_NAME("numa") | 36 | ACPI_MODULE_NAME("numa"); |
37 | 37 | ||
38 | static nodemask_t nodes_found_map = NODE_MASK_NONE; | 38 | static nodemask_t nodes_found_map = NODE_MASK_NONE; |
39 | #define PXM_INVAL -1 | 39 | #define PXM_INVAL -1 |
@@ -45,12 +45,6 @@ int __cpuinitdata pxm_to_node_map[MAX_PXM_DOMAINS] | |||
45 | int __cpuinitdata node_to_pxm_map[MAX_NUMNODES] | 45 | int __cpuinitdata node_to_pxm_map[MAX_NUMNODES] |
46 | = { [0 ... MAX_NUMNODES - 1] = PXM_INVAL }; | 46 | = { [0 ... MAX_NUMNODES - 1] = PXM_INVAL }; |
47 | 47 | ||
48 | extern int __init acpi_table_parse_madt_family(char *id, | ||
49 | unsigned long madt_size, | ||
50 | int entry_id, | ||
51 | acpi_madt_entry_handler handler, | ||
52 | unsigned int max_entries); | ||
53 | |||
54 | int __cpuinit pxm_to_node(int pxm) | 48 | int __cpuinit pxm_to_node(int pxm) |
55 | { | 49 | { |
56 | if (pxm < 0) | 50 | if (pxm < 0) |
@@ -208,9 +202,9 @@ static int __init acpi_parse_srat(struct acpi_table_header *table) | |||
208 | 202 | ||
209 | int __init | 203 | int __init |
210 | acpi_table_parse_srat(enum acpi_srat_type id, | 204 | acpi_table_parse_srat(enum acpi_srat_type id, |
211 | acpi_madt_entry_handler handler, unsigned int max_entries) | 205 | acpi_table_entry_handler handler, unsigned int max_entries) |
212 | { | 206 | { |
213 | return acpi_table_parse_madt_family(ACPI_SIG_SRAT, | 207 | return acpi_table_parse_entries(ACPI_SIG_SRAT, |
214 | sizeof(struct acpi_table_srat), id, | 208 | sizeof(struct acpi_table_srat), id, |
215 | handler, max_entries); | 209 | handler, max_entries); |
216 | } | 210 | } |
@@ -220,9 +214,7 @@ int __init acpi_numa_init(void) | |||
220 | int result; | 214 | int result; |
221 | 215 | ||
222 | /* SRAT: Static Resource Affinity Table */ | 216 | /* SRAT: Static Resource Affinity Table */ |
223 | result = acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat); | 217 | 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, | 218 | result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY, |
227 | acpi_parse_processor_affinity, | 219 | acpi_parse_processor_affinity, |
228 | NR_CPUS); | 220 | NR_CPUS); |
@@ -230,7 +222,7 @@ int __init acpi_numa_init(void) | |||
230 | } | 222 | } |
231 | 223 | ||
232 | /* SLIT: System Locality Information Table */ | 224 | /* SLIT: System Locality Information Table */ |
233 | result = acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit); | 225 | acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit); |
234 | 226 | ||
235 | acpi_numa_arch_fixup(); | 227 | acpi_numa_arch_fixup(); |
236 | return 0; | 228 | return 0; |