diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-05-08 07:06:38 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-05-08 07:06:38 -0400 |
| commit | 37c147948742d34bdc3d9b491f99c77fc48daac0 (patch) | |
| tree | c2481b8485e5c47af10114a97ebf5ade616ee285 /include/linux | |
| parent | 89ca3b881987f5a4be4c5dbaa7f0df12bbdde2fd (diff) | |
| parent | a0dd7b79657bd6644b914d16ce7f23468c44a7b4 (diff) | |
Merge back earlier 'pm-cpufreq' material.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cpufreq.h | 43 | ||||
| -rw-r--r-- | include/linux/pm_opp.h | 20 |
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) | ||
| 473 | int dev_pm_opp_init_cpufreq_table(struct device *dev, | ||
| 474 | struct cpufreq_frequency_table **table); | ||
| 475 | void dev_pm_opp_free_cpufreq_table(struct device *dev, | ||
| 476 | struct cpufreq_frequency_table **table); | ||
| 477 | #else | ||
| 478 | static inline int dev_pm_opp_init_cpufreq_table(struct device *dev, | ||
| 479 | struct cpufreq_frequency_table | ||
| 480 | **table) | ||
| 481 | { | ||
| 482 | return -EINVAL; | ||
| 483 | } | ||
| 484 | |||
| 485 | static inline void dev_pm_opp_free_cpufreq_table(struct device *dev, | ||
| 486 | struct cpufreq_frequency_table | ||
| 487 | **table) | ||
| 488 | { | ||
| 489 | } | ||
| 490 | #endif | ||
| 491 | |||
| 492 | |||
| 493 | bool 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 | |||
| 471 | int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, | 514 | int 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 | ||
| 21 | struct dev_pm_opp; | 20 | struct 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) | ||
| 121 | int dev_pm_opp_init_cpufreq_table(struct device *dev, | ||
| 122 | struct cpufreq_frequency_table **table); | ||
| 123 | void dev_pm_opp_free_cpufreq_table(struct device *dev, | ||
| 124 | struct cpufreq_frequency_table **table); | ||
| 125 | #else | ||
| 126 | static inline int dev_pm_opp_init_cpufreq_table(struct device *dev, | ||
| 127 | struct cpufreq_frequency_table **table) | ||
| 128 | { | ||
| 129 | return -EINVAL; | ||
| 130 | } | ||
| 131 | |||
| 132 | static inline | ||
| 133 | void 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__ */ |
