x86: use cpumask_var_t in acpi/boot.c

Impact: reduce stack size, use new API.

Replace cpumask_t with cpumask_var_t.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Rusty Russell 2008-12-31 18:08:47 -08:00 committed by Ingo Molnar
parent 9628937d5b
commit ee943a82b6

View File

@ -538,9 +538,10 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
union acpi_object *obj; union acpi_object *obj;
struct acpi_madt_local_apic *lapic; struct acpi_madt_local_apic *lapic;
cpumask_t tmp_map, new_map; cpumask_var_t tmp_map, new_map;
u8 physid; u8 physid;
int cpu; int cpu;
int retval = -ENOMEM;
if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer))) if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer)))
return -EINVAL; return -EINVAL;
@ -569,23 +570,37 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
buffer.length = ACPI_ALLOCATE_BUFFER; buffer.length = ACPI_ALLOCATE_BUFFER;
buffer.pointer = NULL; buffer.pointer = NULL;
tmp_map = cpu_present_map; if (!alloc_cpumask_var(&tmp_map, GFP_KERNEL))
goto out;
if (!alloc_cpumask_var(&new_map, GFP_KERNEL))
goto free_tmp_map;
cpumask_copy(tmp_map, cpu_present_mask);
acpi_register_lapic(physid, lapic->lapic_flags & ACPI_MADT_ENABLED); acpi_register_lapic(physid, lapic->lapic_flags & ACPI_MADT_ENABLED);
/* /*
* If mp_register_lapic successfully generates a new logical cpu * If mp_register_lapic successfully generates a new logical cpu
* number, then the following will get us exactly what was mapped * number, then the following will get us exactly what was mapped
*/ */
cpus_andnot(new_map, cpu_present_map, tmp_map); cpumask_andnot(new_map, cpu_present_mask, tmp_map);
if (cpus_empty(new_map)) { if (cpumask_empty(new_map)) {
printk ("Unable to map lapic to logical cpu number\n"); printk ("Unable to map lapic to logical cpu number\n");
return -EINVAL; retval = -EINVAL;
goto free_new_map;
} }
cpu = first_cpu(new_map); cpu = cpumask_first(new_map);
*pcpu = cpu; *pcpu = cpu;
return 0; retval = 0;
free_new_map:
free_cpumask_var(new_map);
free_tmp_map:
free_cpumask_var(tmp_map);
out:
return retval;
} }
/* wrapper to silence section mismatch warning */ /* wrapper to silence section mismatch warning */