Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Fri, 28 Apr 2023 13:37:26 +0200 | Subject | Re: [PATCH] cpufreq: create cooling device based on ACPI |
| |
On Fri, Apr 28, 2023 at 9:19 AM <wangyouwan@126.com> wrote: > > From: youwan Wang <wangyouwan@126.com> > > 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@126.com> > --- > 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
Please avoid adding #ifdefs like this in random places.
Moreover, what if the kernel supports ACPI and the platform is DT-based?
> + } > > pr_debug("initialization complete\n"); > > --
| |