aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/cpufreq.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-12-03 00:50:45 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-01-06 08:17:25 -0500
commitae6b427132ba39d023e332e7d920e9931ff05313 (patch)
treee5cb4dacabe3fae068eccb010d6716b818dfb7ec /include/linux/cpufreq.h
parent20b7cbe2981013cbe449cc642cefc101e23d0f8e (diff)
cpufreq: Mark ARM drivers with CPUFREQ_NEED_INITIAL_FREQ_CHECK flag
Sometimes boot loaders set CPU frequency to a value outside of frequency table present with cpufreq core. In such cases CPU might be unstable if it has to run on that frequency for long duration of time and so its better to set it to a frequency which is specified in frequency table. On some systems we can't really say what frequency we're running at the moment and so for these we shouldn't check if we are running at a frequency present in frequency table. And so we really can't force this for all the cpufreq drivers. Hence we are created another flag here: CPUFREQ_NEED_INITIAL_FREQ_CHECK that will be marked by platforms which want to go for this check at boot time. Initially this is done for all ARM platforms but others may follow if required. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/linux/cpufreq.h')
-rw-r--r--include/linux/cpufreq.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index 88aa0f342e85..91b8c84e8cd0 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -252,6 +252,15 @@ struct cpufreq_driver {
252 */ 252 */
253#define CPUFREQ_ASYNC_NOTIFICATION (1 << 4) 253#define CPUFREQ_ASYNC_NOTIFICATION (1 << 4)
254 254
255/*
256 * Set by drivers which want cpufreq core to check if CPU is running at a
257 * frequency present in freq-table exposed by the driver. For these drivers if
258 * CPU is found running at an out of table freq, we will try to set it to a freq
259 * from the table. And if that fails, we will stop further boot process by
260 * issuing a BUG_ON().
261 */
262#define CPUFREQ_NEED_INITIAL_FREQ_CHECK (1 << 5)
263
255int cpufreq_register_driver(struct cpufreq_driver *driver_data); 264int cpufreq_register_driver(struct cpufreq_driver *driver_data);
256int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); 265int cpufreq_unregister_driver(struct cpufreq_driver *driver_data);
257 266