Commit cac173be authored by Huisong Li's avatar Huisong Li Committed by Rafael J. Wysocki
Browse files

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: default avatarHuisong 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: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent a7a9c877
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -1237,7 +1237,7 @@ static void acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
}

/**
 * acpi_processor_setup_cpuidle_dev - prepares and configures CPUIDLE
 * acpi_processor_setup_cpuidle_dev - configures CPUIDLE
 * device i.e. per-cpu data
 *
 * @pr: the ACPI processor
@@ -1250,11 +1250,7 @@ static void acpi_processor_setup_cpuidle_dev(struct acpi_processor *pr,
		return;

	dev->cpu = pr->id;
	if (pr->flags.has_lpi) {
		acpi_processor_ffh_lpi_probe(pr->id);
		return;
	}

	if (!pr->flags.has_lpi)
		acpi_processor_setup_cpuidle_cx(pr, dev);
}

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

	ret = acpi_processor_get_lpi_info(pr);
	if (ret)
		ret = acpi_processor_get_cstate_info(pr);
		return acpi_processor_get_cstate_info(pr);

	if (pr->flags.has_lpi) {
		ret = acpi_processor_ffh_lpi_probe(pr->id);
		if (ret)
			pr_err("CPU%u: Invalid FFH LPI data\n", pr->id);
	}

	return ret;
}