| From a62f68f5ca53ab61cba2f0a410d0add7a6d54a52 Mon Sep 17 00:00:00 2001 |
| From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> |
| Date: Fri, 23 Oct 2020 17:35:46 +0200 |
| Subject: cpufreq: Introduce cpufreq_driver_test_flags() |
| |
| From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| |
| commit a62f68f5ca53ab61cba2f0a410d0add7a6d54a52 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/cpufreq/cpufreq.c | 12 ++++++++++++ |
| include/linux/cpufreq.h | 1 + |
| 2 files changed, 13 insertions(+) |
| |
| --- a/drivers/cpufreq/cpufreq.c |
| +++ b/drivers/cpufreq/cpufreq.c |
| @@ -1904,6 +1904,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 |
| * |
| * Return the name string of the currently loaded cpufreq driver |
| --- a/include/linux/cpufreq.h |
| +++ b/include/linux/cpufreq.h |
| @@ -428,6 +428,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); |
| |