cpufreq: Move the IS_ENABLED(CPU_THERMAL) macro into a stub
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 25 Jun 2019 11:32:41 +0000 (13:32 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Jun 2019 08:59:57 +0000 (10:59 +0200)
cpufreq_online() and 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 an IS_ENABLED() check 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.

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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c
include/linux/cpufreq.h

index 85ff958e01f108dbe9baac16fb558171edf41a8b..aee024e42618c744498b2ccbab67ca9320ed7beb 100644 (file)
@@ -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;
        }
index d01a74fbc4db624187f2c42b0dc304162081fc12..a1467aa7f58b6d48ae819100316cc5ecb30d59a0 100644 (file)
@@ -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)
 {