On Tue, Apr 23, 2024 at 8:49 AM Hanjun Guo <guohanjun@xxxxxxxxxx> wrote: > > On 2024/4/18 21:53, Jonathan Cameron wrote: > > The ACPI bus scan will only result in acpi_processor_add() being called > > if _STA has already been checked and the result is that the > > processor is enabled and present. Hence drop this additional check. > > > > Suggested-by: Rafael J. Wysocki <rafael@xxxxxxxxxx> > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > --- > > v7: No change > > v6: New patch to drop this unnecessary code. Now I think we only > > need to explicitly read STA to print a warning in the ARM64 > > arch_unregister_cpu() path where we want to know if the > > present bit has been unset as well. > > --- > > drivers/acpi/acpi_processor.c | 6 ------ > > 1 file changed, 6 deletions(-) > > > > diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c > > index 7fc924aeeed0..ba0a6f0ac841 100644 > > --- a/drivers/acpi/acpi_processor.c > > +++ b/drivers/acpi/acpi_processor.c > > @@ -186,17 +186,11 @@ static void __init acpi_pcc_cpufreq_init(void) {} > > #ifdef CONFIG_ACPI_HOTPLUG_CPU > > static int acpi_processor_hotadd_init(struct acpi_processor *pr) > > { > > - unsigned long long sta; > > - acpi_status status; > > int ret; > > > > if (invalid_phys_cpuid(pr->phys_id)) > > return -ENODEV; > > > > - status = acpi_evaluate_integer(pr->handle, "_STA", NULL, &sta); > > - if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_PRESENT)) > > - return -ENODEV; > > - > > cpu_maps_update_begin(); > > cpus_write_lock(); > > Since the status bits were checked before acpi_processor_add() being > called, do we need to remove the if (!acpi_device_is_enabled(device)) > check in acpi_processor_add() as well? No, because its caller only checks the present bit. The function itself checks the enabled bit.