Skip to content

Commit cac173b

Browse files
LiHuiSong1rafaeljw
authored andcommitted
ACPI: processor: idle: Rework the handling of acpi_processor_ffh_lpi_probe()
Move the acpi_processor_ffh_lpi_probe() call from acpi_processor_setup_cpuidle_dev(), where its return value is ignored, to acpi_processor_get_power_info(), which can take the return value of that function into account in a meaningful way and generally is a more suitable place for calling it. Signed-off-by: Huisong Li <lihuisong@huawei.com> [ rjw: Message adjustment, subject and changelog edits ] Link: https://patch.msgid.link/20260120112258.1595164-4-lihuisong@huawei.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent a7a9c87 commit cac173b

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

drivers/acpi/processor_idle.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ static void acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
12371237
}
12381238

12391239
/**
1240-
* acpi_processor_setup_cpuidle_dev - prepares and configures CPUIDLE
1240+
* acpi_processor_setup_cpuidle_dev - configures CPUIDLE
12411241
* device i.e. per-cpu data
12421242
*
12431243
* @pr: the ACPI processor
@@ -1250,12 +1250,8 @@ static void acpi_processor_setup_cpuidle_dev(struct acpi_processor *pr,
12501250
return;
12511251

12521252
dev->cpu = pr->id;
1253-
if (pr->flags.has_lpi) {
1254-
acpi_processor_ffh_lpi_probe(pr->id);
1255-
return;
1256-
}
1257-
1258-
acpi_processor_setup_cpuidle_cx(pr, dev);
1253+
if (!pr->flags.has_lpi)
1254+
acpi_processor_setup_cpuidle_cx(pr, dev);
12591255
}
12601256

12611257
static int acpi_processor_get_power_info(struct acpi_processor *pr)
@@ -1264,7 +1260,13 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr)
12641260

12651261
ret = acpi_processor_get_lpi_info(pr);
12661262
if (ret)
1267-
ret = acpi_processor_get_cstate_info(pr);
1263+
return acpi_processor_get_cstate_info(pr);
1264+
1265+
if (pr->flags.has_lpi) {
1266+
ret = acpi_processor_ffh_lpi_probe(pr->id);
1267+
if (ret)
1268+
pr_err("CPU%u: Invalid FFH LPI data\n", pr->id);
1269+
}
12681270

12691271
return ret;
12701272
}

0 commit comments

Comments
 (0)