Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI / processor: Introduce invalid_phys_cpuid()

Introduce invalid_phys_cpuid() to identify cpu with invalid
physical ID, then used it as replacement of the direct comparisons
with PHYS_CPUID_INVALID.

Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Hanjun Guo and committed by
Rafael J. Wysocki
ddcc18f5 d3da7cb9

+9 -4
+2 -2
drivers/acpi/acpi_processor.c
··· 170 170 acpi_status status; 171 171 int ret; 172 172 173 - if (pr->phys_id == PHYS_CPUID_INVALID) 173 + if (invalid_phys_cpuid(pr->phys_id)) 174 174 return -ENODEV; 175 175 176 176 status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta); ··· 264 264 265 265 pr->phys_id = acpi_get_phys_id(pr->handle, device_declaration, 266 266 pr->acpi_id); 267 - if (pr->phys_id == PHYS_CPUID_INVALID) 267 + if (invalid_phys_cpuid(pr->phys_id)) 268 268 acpi_handle_debug(pr->handle, "failed to get CPU physical ID.\n"); 269 269 270 270 pr->id = acpi_map_cpuid(pr->phys_id, pr->acpi_id);
+2 -2
drivers/acpi/processor_core.c
··· 184 184 phys_cpuid_t phys_id; 185 185 186 186 phys_id = map_mat_entry(handle, type, acpi_id); 187 - if (phys_id == PHYS_CPUID_INVALID) 187 + if (invalid_phys_cpuid(phys_id)) 188 188 phys_id = map_madt_entry(type, acpi_id); 189 189 190 190 return phys_id; ··· 196 196 int i; 197 197 #endif 198 198 199 - if (phys_id == PHYS_CPUID_INVALID) { 199 + if (invalid_phys_cpuid(phys_id)) { 200 200 /* 201 201 * On UP processor, there is no _MAT or MADT table. 202 202 * So above phys_id is always set to PHYS_CPUID_INVALID.
+5
include/linux/acpi.h
··· 163 163 return (int)cpuid < 0; 164 164 } 165 165 166 + static inline bool invalid_phys_cpuid(phys_cpuid_t phys_id) 167 + { 168 + return phys_id == PHYS_CPUID_INVALID; 169 + } 170 + 166 171 #ifdef CONFIG_ACPI_HOTPLUG_CPU 167 172 /* Arch dependent functions for cpu hotplug support */ 168 173 int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu);