cpufreq: Introduce cpufreq_driver_test_flags()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 23 Oct 2020 15:35:46 +0000 (17:35 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 29 Oct 2020 13:07:30 +0000 (14:07 +0100)
Add a helper function to test the flags of the cpufreq driver in use
againt a given flags mask.

In particular, this will be needed to test the
CPUFREQ_NEED_UPDATE_LIMITS cpufreq driver flag in the schedutil
governor.

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

index ea58337..336b5e9 100644 (file)
@@ -1907,6 +1907,18 @@ void cpufreq_resume(void)
        }
 }
 
+/**
+ * cpufreq_driver_test_flags - Test cpufreq driver's flags against given ones.
+ * @flags: Flags to test against the current cpufreq driver's flags.
+ *
+ * Assumes that the driver is there, so callers must ensure that this is the
+ * case.
+ */
+bool cpufreq_driver_test_flags(u16 flags)
+{
+       return !!(cpufreq_driver->flags & flags);
+}
+
 /**
  *     cpufreq_get_current_driver - return current driver's name
  *
index 038ed83..1eaa04f 100644 (file)
@@ -433,6 +433,7 @@ struct cpufreq_driver {
 int cpufreq_register_driver(struct cpufreq_driver *driver_data);
 int cpufreq_unregister_driver(struct cpufreq_driver *driver_data);
 
+bool cpufreq_driver_test_flags(u16 flags);
 const char *cpufreq_get_current_driver(void);
 void *cpufreq_get_driver_data(void);