Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Thu, 27 Jun 2019 23:31:08 +0200 | Subject | Re: [PATCH V4 1/3] cpufreq: Move the IS_ENABLED(CPU_THERMAL) macro in a stub |
| |
On Thu, Jun 27, 2019 at 11:02 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > > The cpufreq_online and the cpufreq_offline [un]register the driver as > a cooling device. This is done if the driver is flagged as a cooling > device in addition with a IS_ENABLED macro to compile out the branching > code. > > Group this test in a stub function added in the cpufreq header instead > of having the IS_ENABLED in the code path. > > Suggested-by: Rafael J. Wysocki <rafael@kernel.org> > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
This one has been queued up for 5.3 already, no need to resend.
Thanks!
> --- > drivers/cpufreq/cpufreq.c | 6 ++---- > include/linux/cpufreq.h | 6 ++++++ > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 85ff958e01f1..aee024e42618 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -1378,8 +1378,7 @@ static int cpufreq_online(unsigned int cpu) > if (cpufreq_driver->ready) > cpufreq_driver->ready(policy); > > - if (IS_ENABLED(CONFIG_CPU_THERMAL) && > - cpufreq_driver->flags & CPUFREQ_IS_COOLING_DEV) > + if (cpufreq_thermal_control_enabled(cpufreq_driver)) > policy->cdev = of_cpufreq_cooling_register(policy); > > pr_debug("initialization complete\n"); > @@ -1469,8 +1468,7 @@ static int cpufreq_offline(unsigned int cpu) > goto unlock; > } > > - if (IS_ENABLED(CONFIG_CPU_THERMAL) && > - cpufreq_driver->flags & CPUFREQ_IS_COOLING_DEV) { > + if (cpufreq_thermal_control_enabled(cpufreq_driver)) { > cpufreq_cooling_unregister(policy->cdev); > policy->cdev = NULL; > } > diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h > index d01a74fbc4db..a1467aa7f58b 100644 > --- a/include/linux/cpufreq.h > +++ b/include/linux/cpufreq.h > @@ -409,6 +409,12 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); > const char *cpufreq_get_current_driver(void); > void *cpufreq_get_driver_data(void); > > +static inline int cpufreq_thermal_control_enabled(struct cpufreq_driver *drv) > +{ > + return IS_ENABLED(CONFIG_CPU_THERMAL) && > + (drv->flags & CPUFREQ_IS_COOLING_DEV); > +} > + > static inline void cpufreq_verify_within_limits(struct cpufreq_policy *policy, > unsigned int min, unsigned int max) > { > -- > 2.17.1 >
| |