aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHanjun Guo <hanjun.guo@linaro.org>2015-05-13 04:19:30 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-05-13 17:28:16 -0400
commitddcc18f5bdd1aafd457032ec693fd9d0af764d61 (patch)
tree0fc442b95f716e618e8b49c30b72babade41a1ed
parentd3da7cb9d243c484fcb05e6c16f55090fba99702 (diff)
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>
-rw-r--r--drivers/acpi/acpi_processor.c4
-rw-r--r--drivers/acpi/processor_core.c4
-rw-r--r--include/linux/acpi.h5
3 files changed, 9 insertions, 4 deletions
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 62c846befb62..92a5f738e370 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -170,7 +170,7 @@ static int acpi_processor_hotadd_init(struct acpi_processor *pr)
170 acpi_status status; 170 acpi_status status;
171 int ret; 171 int ret;
172 172
173 if (pr->phys_id == PHYS_CPUID_INVALID) 173 if (invalid_phys_cpuid(pr->phys_id))
174 return -ENODEV; 174 return -ENODEV;
175 175
176 status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta); 176 status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta);
@@ -264,7 +264,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
264 264
265 pr->phys_id = acpi_get_phys_id(pr->handle, device_declaration, 265 pr->phys_id = acpi_get_phys_id(pr->handle, device_declaration,
266 pr->acpi_id); 266 pr->acpi_id);
267 if (pr->phys_id == PHYS_CPUID_INVALID) 267 if (invalid_phys_cpuid(pr->phys_id))
268 acpi_handle_debug(pr->handle, "failed to get CPU physical ID.\n"); 268 acpi_handle_debug(pr->handle, "failed to get CPU physical ID.\n");
269 269
270 pr->id = acpi_map_cpuid(pr->phys_id, pr->acpi_id); 270 pr->id = acpi_map_cpuid(pr->phys_id, pr->acpi_id);
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index fd4140dabbf1..33a38d604630 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -184,7 +184,7 @@ phys_cpuid_t acpi_get_phys_id(acpi_handle handle, int type, u32 acpi_id)
184 phys_cpuid_t phys_id; 184 phys_cpuid_t phys_id;
185 185
186 phys_id = map_mat_entry(handle, type, acpi_id); 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 phys_id = map_madt_entry(type, acpi_id); 188 phys_id = map_madt_entry(type, acpi_id);
189 189
190 return phys_id; 190 return phys_id;
@@ -196,7 +196,7 @@ int acpi_map_cpuid(phys_cpuid_t phys_id, u32 acpi_id)
196 int i; 196 int i;
197#endif 197#endif
198 198
199 if (phys_id == PHYS_CPUID_INVALID) { 199 if (invalid_phys_cpuid(phys_id)) {
200 /* 200 /*
201 * On UP processor, there is no _MAT or MADT table. 201 * On UP processor, there is no _MAT or MADT table.
202 * So above phys_id is always set to PHYS_CPUID_INVALID. 202 * So above phys_id is always set to PHYS_CPUID_INVALID.
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 913b49f9a6e6..90e4ed1eb191 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -163,6 +163,11 @@ static inline bool invalid_logical_cpuid(u32 cpuid)
163 return (int)cpuid < 0; 163 return (int)cpuid < 0;
164} 164}
165 165
166static inline bool invalid_phys_cpuid(phys_cpuid_t phys_id)
167{
168 return phys_id == PHYS_CPUID_INVALID;
169}
170
166#ifdef CONFIG_ACPI_HOTPLUG_CPU 171#ifdef CONFIG_ACPI_HOTPLUG_CPU
167/* Arch dependent functions for cpu hotplug support */ 172/* Arch dependent functions for cpu hotplug support */
168int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu); 173int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu);