aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-05-08 07:06:38 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-05-08 07:06:38 -0400
commit37c147948742d34bdc3d9b491f99c77fc48daac0 (patch)
treec2481b8485e5c47af10114a97ebf5ade616ee285 /include/linux
parent89ca3b881987f5a4be4c5dbaa7f0df12bbdde2fd (diff)
parenta0dd7b79657bd6644b914d16ce7f23468c44a7b4 (diff)
Merge back earlier 'pm-cpufreq' material.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/cpufreq.h43
-rw-r--r--include/linux/pm_opp.h20
2 files changed, 43 insertions, 20 deletions
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index 5ae5100c1f24..9d803b529ac2 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -110,6 +110,7 @@ struct cpufreq_policy {
110 bool transition_ongoing; /* Tracks transition status */ 110 bool transition_ongoing; /* Tracks transition status */
111 spinlock_t transition_lock; 111 spinlock_t transition_lock;
112 wait_queue_head_t transition_wait; 112 wait_queue_head_t transition_wait;
113 struct task_struct *transition_task; /* Task which is doing the transition */
113}; 114};
114 115
115/* Only for ACPI */ 116/* Only for ACPI */
@@ -468,6 +469,48 @@ struct cpufreq_frequency_table {
468 * order */ 469 * order */
469}; 470};
470 471
472#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_PM_OPP)
473int dev_pm_opp_init_cpufreq_table(struct device *dev,
474 struct cpufreq_frequency_table **table);
475void dev_pm_opp_free_cpufreq_table(struct device *dev,
476 struct cpufreq_frequency_table **table);
477#else
478static inline int dev_pm_opp_init_cpufreq_table(struct device *dev,
479 struct cpufreq_frequency_table
480 **table)
481{
482 return -EINVAL;
483}
484
485static inline void dev_pm_opp_free_cpufreq_table(struct device *dev,
486 struct cpufreq_frequency_table
487 **table)
488{
489}
490#endif
491
492
493bool cpufreq_next_valid(struct cpufreq_frequency_table **pos);
494
495/*
496 * cpufreq_for_each_entry - iterate over a cpufreq_frequency_table
497 * @pos: the cpufreq_frequency_table * to use as a loop cursor.
498 * @table: the cpufreq_frequency_table * to iterate over.
499 */
500
501#define cpufreq_for_each_entry(pos, table) \
502 for (pos = table; pos->frequency != CPUFREQ_TABLE_END; pos++)
503
504/*
505 * cpufreq_for_each_valid_entry - iterate over a cpufreq_frequency_table
506 * excluding CPUFREQ_ENTRY_INVALID frequencies.
507 * @pos: the cpufreq_frequency_table * to use as a loop cursor.
508 * @table: the cpufreq_frequency_table * to iterate over.
509 */
510
511#define cpufreq_for_each_valid_entry(pos, table) \
512 for (pos = table; cpufreq_next_valid(&pos); pos++)
513
471int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, 514int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
472 struct cpufreq_frequency_table *table); 515 struct cpufreq_frequency_table *table);
473 516
diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
index 5151b0059585..0330217abfad 100644
--- a/include/linux/pm_opp.h
+++ b/include/linux/pm_opp.h
@@ -15,7 +15,6 @@
15#define __LINUX_OPP_H__ 15#define __LINUX_OPP_H__
16 16
17#include <linux/err.h> 17#include <linux/err.h>
18#include <linux/cpufreq.h>
19#include <linux/notifier.h> 18#include <linux/notifier.h>
20 19
21struct dev_pm_opp; 20struct dev_pm_opp;
@@ -117,23 +116,4 @@ static inline int of_init_opp_table(struct device *dev)
117} 116}
118#endif 117#endif
119 118
120#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_PM_OPP)
121int dev_pm_opp_init_cpufreq_table(struct device *dev,
122 struct cpufreq_frequency_table **table);
123void dev_pm_opp_free_cpufreq_table(struct device *dev,
124 struct cpufreq_frequency_table **table);
125#else
126static inline int dev_pm_opp_init_cpufreq_table(struct device *dev,
127 struct cpufreq_frequency_table **table)
128{
129 return -EINVAL;
130}
131
132static inline
133void dev_pm_opp_free_cpufreq_table(struct device *dev,
134 struct cpufreq_frequency_table **table)
135{
136}
137#endif /* CONFIG_CPU_FREQ */
138
139#endif /* __LINUX_OPP_H__ */ 119#endif /* __LINUX_OPP_H__ */