[PATCH] cpufreq: create cooling device based on ACPI

From: wangyouwan
Date: Fri Apr 28 2023 - 03:19:29 EST


From: youwan Wang <wangyouwan@xxxxxxx>

When using the "scpi_cpufreq" driver, an error
occurs:cpufreq_cooling: OF node not available for cpu*.
The current computer motherboard is using ACPI firmware.
Go to see that the error is caused by calling the
"of_cpufreq_cooling_register" interface.
comment:create cpufreq cooling device based on DT.

Signed-off-by: youwan Wang <wangyouwan@xxxxxxx>
---
drivers/cpufreq/cpufreq.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 6b52ebe5a890..3418c68959d5 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1528,8 +1528,13 @@ static int cpufreq_online(unsigned int cpu)
if (cpufreq_driver->ready)
cpufreq_driver->ready(policy);

- if (cpufreq_thermal_control_enabled(cpufreq_driver))
+ if (cpufreq_thermal_control_enabled(cpufreq_driver)) {
+#ifdef CONFIG_ACPI
+ policy->cdev = cpufreq_cooling_register(policy);
+#else
policy->cdev = of_cpufreq_cooling_register(policy);
+#endif
+ }

pr_debug("initialization complete\n");

--
2.25.1