diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2013-06-19 04:49:33 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-20 19:06:34 -0400 |
commit | bb176f7d038fee4d46b3293e64e173bfb05ab7b5 (patch) | |
tree | 3083ebddffa88ffe7e4889dc1ba618bb55c89953 | |
parent | 95731ebb114c5f0c028459388560fc2a72fe5049 (diff) |
cpufreq: Fix minor formatting issues
There were a few noticeable formatting issues in core cpufreq code.
This cleans them up to make code look better. The changes include:
- Whitespace cleanup.
- Rearrangements of code.
- Multiline comments fixes.
- Formatting changes to fit 80 columns.
Copyright information in cpufreq.c is also updated to include my name
for 2013.
[rjw: Changelog]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 63 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_governor.h | 4 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_performance.c | 4 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_powersave.c | 6 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_stats.c | 4 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_userspace.c | 4 | ||||
-rw-r--r-- | include/linux/cpufreq.h | 41 |
7 files changed, 53 insertions, 73 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 43cf60832468..075edeff358c 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -3,6 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright (C) 2001 Russell King | 4 | * Copyright (C) 2001 Russell King |
5 | * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> | 5 | * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> |
6 | * (C) 2013 Viresh Kumar <viresh.kumar@linaro.org> | ||
6 | * | 7 | * |
7 | * Oct 2005 - Ashok Raj <ashok.raj@intel.com> | 8 | * Oct 2005 - Ashok Raj <ashok.raj@intel.com> |
8 | * Added handling for CPU hotplug | 9 | * Added handling for CPU hotplug |
@@ -12,7 +13,6 @@ | |||
12 | * This program is free software; you can redistribute it and/or modify | 13 | * This program is free software; you can redistribute it and/or modify |
13 | * it under the terms of the GNU General Public License version 2 as | 14 | * it under the terms of the GNU General Public License version 2 as |
14 | * published by the Free Software Foundation. | 15 | * published by the Free Software Foundation. |
15 | * | ||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 18 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -44,12 +44,13 @@ | |||
44 | */ | 44 | */ |
45 | static struct cpufreq_driver *cpufreq_driver; | 45 | static struct cpufreq_driver *cpufreq_driver; |
46 | static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data); | 46 | static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data); |
47 | static DEFINE_RWLOCK(cpufreq_driver_lock); | ||
48 | static DEFINE_MUTEX(cpufreq_governor_lock); | ||
49 | |||
47 | #ifdef CONFIG_HOTPLUG_CPU | 50 | #ifdef CONFIG_HOTPLUG_CPU |
48 | /* This one keeps track of the previously set governor of a removed CPU */ | 51 | /* This one keeps track of the previously set governor of a removed CPU */ |
49 | static DEFINE_PER_CPU(char[CPUFREQ_NAME_LEN], cpufreq_cpu_governor); | 52 | static DEFINE_PER_CPU(char[CPUFREQ_NAME_LEN], cpufreq_cpu_governor); |
50 | #endif | 53 | #endif |
51 | static DEFINE_RWLOCK(cpufreq_driver_lock); | ||
52 | static DEFINE_MUTEX(cpufreq_governor_lock); | ||
53 | 54 | ||
54 | /* | 55 | /* |
55 | * cpu_policy_rwsem is a per CPU reader-writer semaphore designed to cure | 56 | * cpu_policy_rwsem is a per CPU reader-writer semaphore designed to cure |
@@ -199,7 +200,6 @@ static struct cpufreq_policy *__cpufreq_cpu_get(unsigned int cpu, bool sysfs) | |||
199 | if (!try_module_get(cpufreq_driver->owner)) | 200 | if (!try_module_get(cpufreq_driver->owner)) |
200 | goto err_out_unlock; | 201 | goto err_out_unlock; |
201 | 202 | ||
202 | |||
203 | /* get the CPU */ | 203 | /* get the CPU */ |
204 | data = per_cpu(cpufreq_cpu_data, cpu); | 204 | data = per_cpu(cpufreq_cpu_data, cpu); |
205 | 205 | ||
@@ -269,7 +269,7 @@ static void cpufreq_cpu_put_sysfs(struct cpufreq_policy *data) | |||
269 | */ | 269 | */ |
270 | #ifndef CONFIG_SMP | 270 | #ifndef CONFIG_SMP |
271 | static unsigned long l_p_j_ref; | 271 | static unsigned long l_p_j_ref; |
272 | static unsigned int l_p_j_ref_freq; | 272 | static unsigned int l_p_j_ref_freq; |
273 | 273 | ||
274 | static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) | 274 | static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) |
275 | { | 275 | { |
@@ -282,7 +282,7 @@ static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) | |||
282 | pr_debug("saving %lu as reference value for loops_per_jiffy; " | 282 | pr_debug("saving %lu as reference value for loops_per_jiffy; " |
283 | "freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq); | 283 | "freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq); |
284 | } | 284 | } |
285 | if ((val == CPUFREQ_POSTCHANGE && ci->old != ci->new) || | 285 | if ((val == CPUFREQ_POSTCHANGE && ci->old != ci->new) || |
286 | (val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) { | 286 | (val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) { |
287 | loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, | 287 | loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, |
288 | ci->new); | 288 | ci->new); |
@@ -297,7 +297,6 @@ static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) | |||
297 | } | 297 | } |
298 | #endif | 298 | #endif |
299 | 299 | ||
300 | |||
301 | void __cpufreq_notify_transition(struct cpufreq_policy *policy, | 300 | void __cpufreq_notify_transition(struct cpufreq_policy *policy, |
302 | struct cpufreq_freqs *freqs, unsigned int state) | 301 | struct cpufreq_freqs *freqs, unsigned int state) |
303 | { | 302 | { |
@@ -343,6 +342,7 @@ void __cpufreq_notify_transition(struct cpufreq_policy *policy, | |||
343 | break; | 342 | break; |
344 | } | 343 | } |
345 | } | 344 | } |
345 | |||
346 | /** | 346 | /** |
347 | * cpufreq_notify_transition - call notifier chain and adjust_jiffies | 347 | * cpufreq_notify_transition - call notifier chain and adjust_jiffies |
348 | * on frequency transition. | 348 | * on frequency transition. |
@@ -360,7 +360,6 @@ void cpufreq_notify_transition(struct cpufreq_policy *policy, | |||
360 | EXPORT_SYMBOL_GPL(cpufreq_notify_transition); | 360 | EXPORT_SYMBOL_GPL(cpufreq_notify_transition); |
361 | 361 | ||
362 | 362 | ||
363 | |||
364 | /********************************************************************* | 363 | /********************************************************************* |
365 | * SYSFS INTERFACE * | 364 | * SYSFS INTERFACE * |
366 | *********************************************************************/ | 365 | *********************************************************************/ |
@@ -425,7 +424,6 @@ out: | |||
425 | return err; | 424 | return err; |
426 | } | 425 | } |
427 | 426 | ||
428 | |||
429 | /** | 427 | /** |
430 | * cpufreq_per_cpu_attr_read() / show_##file_name() - | 428 | * cpufreq_per_cpu_attr_read() / show_##file_name() - |
431 | * print out cpufreq information | 429 | * print out cpufreq information |
@@ -490,7 +488,6 @@ static ssize_t show_cpuinfo_cur_freq(struct cpufreq_policy *policy, | |||
490 | return sprintf(buf, "%u\n", cur_freq); | 488 | return sprintf(buf, "%u\n", cur_freq); |
491 | } | 489 | } |
492 | 490 | ||
493 | |||
494 | /** | 491 | /** |
495 | * show_scaling_governor - show the current policy for the specified CPU | 492 | * show_scaling_governor - show the current policy for the specified CPU |
496 | */ | 493 | */ |
@@ -506,7 +503,6 @@ static ssize_t show_scaling_governor(struct cpufreq_policy *policy, char *buf) | |||
506 | return -EINVAL; | 503 | return -EINVAL; |
507 | } | 504 | } |
508 | 505 | ||
509 | |||
510 | /** | 506 | /** |
511 | * store_scaling_governor - store policy for the specified CPU | 507 | * store_scaling_governor - store policy for the specified CPU |
512 | */ | 508 | */ |
@@ -529,8 +525,10 @@ static ssize_t store_scaling_governor(struct cpufreq_policy *policy, | |||
529 | &new_policy.governor)) | 525 | &new_policy.governor)) |
530 | return -EINVAL; | 526 | return -EINVAL; |
531 | 527 | ||
532 | /* Do not use cpufreq_set_policy here or the user_policy.max | 528 | /* |
533 | will be wrongly overridden */ | 529 | * Do not use cpufreq_set_policy here or the user_policy.max |
530 | * will be wrongly overridden | ||
531 | */ | ||
534 | ret = __cpufreq_set_policy(policy, &new_policy); | 532 | ret = __cpufreq_set_policy(policy, &new_policy); |
535 | 533 | ||
536 | policy->user_policy.policy = policy->policy; | 534 | policy->user_policy.policy = policy->policy; |
@@ -1094,7 +1092,8 @@ static void update_policy_cpu(struct cpufreq_policy *policy, unsigned int cpu) | |||
1094 | * Caller should already have policy_rwsem in write mode for this CPU. | 1092 | * Caller should already have policy_rwsem in write mode for this CPU. |
1095 | * This routine frees the rwsem before returning. | 1093 | * This routine frees the rwsem before returning. |
1096 | */ | 1094 | */ |
1097 | static int __cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) | 1095 | static int __cpufreq_remove_dev(struct device *dev, |
1096 | struct subsys_interface *sif) | ||
1098 | { | 1097 | { |
1099 | unsigned int cpu = dev->id, ret, cpus; | 1098 | unsigned int cpu = dev->id, ret, cpus; |
1100 | unsigned long flags; | 1099 | unsigned long flags; |
@@ -1201,7 +1200,6 @@ static int __cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif | |||
1201 | return 0; | 1200 | return 0; |
1202 | } | 1201 | } |
1203 | 1202 | ||
1204 | |||
1205 | static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) | 1203 | static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) |
1206 | { | 1204 | { |
1207 | unsigned int cpu = dev->id; | 1205 | unsigned int cpu = dev->id; |
@@ -1214,7 +1212,6 @@ static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) | |||
1214 | return retval; | 1212 | return retval; |
1215 | } | 1213 | } |
1216 | 1214 | ||
1217 | |||
1218 | static void handle_update(struct work_struct *work) | 1215 | static void handle_update(struct work_struct *work) |
1219 | { | 1216 | { |
1220 | struct cpufreq_policy *policy = | 1217 | struct cpufreq_policy *policy = |
@@ -1225,7 +1222,8 @@ static void handle_update(struct work_struct *work) | |||
1225 | } | 1222 | } |
1226 | 1223 | ||
1227 | /** | 1224 | /** |
1228 | * cpufreq_out_of_sync - If actual and saved CPU frequency differs, we're in deep trouble. | 1225 | * cpufreq_out_of_sync - If actual and saved CPU frequency differs, we're |
1226 | * in deep trouble. | ||
1229 | * @cpu: cpu number | 1227 | * @cpu: cpu number |
1230 | * @old_freq: CPU frequency the kernel thinks the CPU runs at | 1228 | * @old_freq: CPU frequency the kernel thinks the CPU runs at |
1231 | * @new_freq: CPU frequency the CPU actually runs at | 1229 | * @new_freq: CPU frequency the CPU actually runs at |
@@ -1240,7 +1238,6 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, | |||
1240 | struct cpufreq_freqs freqs; | 1238 | struct cpufreq_freqs freqs; |
1241 | unsigned long flags; | 1239 | unsigned long flags; |
1242 | 1240 | ||
1243 | |||
1244 | pr_debug("Warning: CPU frequency out of sync: cpufreq and timing " | 1241 | pr_debug("Warning: CPU frequency out of sync: cpufreq and timing " |
1245 | "core thinks of %u, is %u kHz.\n", old_freq, new_freq); | 1242 | "core thinks of %u, is %u kHz.\n", old_freq, new_freq); |
1246 | 1243 | ||
@@ -1255,7 +1252,6 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, | |||
1255 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); | 1252 | cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); |
1256 | } | 1253 | } |
1257 | 1254 | ||
1258 | |||
1259 | /** | 1255 | /** |
1260 | * cpufreq_quick_get - get the CPU frequency (in kHz) from policy->cur | 1256 | * cpufreq_quick_get - get the CPU frequency (in kHz) from policy->cur |
1261 | * @cpu: CPU number | 1257 | * @cpu: CPU number |
@@ -1301,7 +1297,6 @@ unsigned int cpufreq_quick_get_max(unsigned int cpu) | |||
1301 | } | 1297 | } |
1302 | EXPORT_SYMBOL(cpufreq_quick_get_max); | 1298 | EXPORT_SYMBOL(cpufreq_quick_get_max); |
1303 | 1299 | ||
1304 | |||
1305 | static unsigned int __cpufreq_get(unsigned int cpu) | 1300 | static unsigned int __cpufreq_get(unsigned int cpu) |
1306 | { | 1301 | { |
1307 | struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); | 1302 | struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); |
@@ -1360,7 +1355,6 @@ static struct subsys_interface cpufreq_interface = { | |||
1360 | .remove_dev = cpufreq_remove_dev, | 1355 | .remove_dev = cpufreq_remove_dev, |
1361 | }; | 1356 | }; |
1362 | 1357 | ||
1363 | |||
1364 | /** | 1358 | /** |
1365 | * cpufreq_bp_suspend - Prepare the boot CPU for system suspend. | 1359 | * cpufreq_bp_suspend - Prepare the boot CPU for system suspend. |
1366 | * | 1360 | * |
@@ -1497,11 +1491,10 @@ int cpufreq_register_notifier(struct notifier_block *nb, unsigned int list) | |||
1497 | } | 1491 | } |
1498 | EXPORT_SYMBOL(cpufreq_register_notifier); | 1492 | EXPORT_SYMBOL(cpufreq_register_notifier); |
1499 | 1493 | ||
1500 | |||
1501 | /** | 1494 | /** |
1502 | * cpufreq_unregister_notifier - unregister a driver with cpufreq | 1495 | * cpufreq_unregister_notifier - unregister a driver with cpufreq |
1503 | * @nb: notifier block to be unregistered | 1496 | * @nb: notifier block to be unregistered |
1504 | * @list: CPUFREQ_TRANSITION_NOTIFIER or CPUFREQ_POLICY_NOTIFIER | 1497 | * @list: CPUFREQ_TRANSITION_NOTIFIER or CPUFREQ_POLICY_NOTIFIER |
1505 | * | 1498 | * |
1506 | * Remove a driver from the CPU frequency notifier list. | 1499 | * Remove a driver from the CPU frequency notifier list. |
1507 | * | 1500 | * |
@@ -1537,7 +1530,6 @@ EXPORT_SYMBOL(cpufreq_unregister_notifier); | |||
1537 | * GOVERNORS * | 1530 | * GOVERNORS * |
1538 | *********************************************************************/ | 1531 | *********************************************************************/ |
1539 | 1532 | ||
1540 | |||
1541 | int __cpufreq_driver_target(struct cpufreq_policy *policy, | 1533 | int __cpufreq_driver_target(struct cpufreq_policy *policy, |
1542 | unsigned int target_freq, | 1534 | unsigned int target_freq, |
1543 | unsigned int relation) | 1535 | unsigned int relation) |
@@ -1678,7 +1670,6 @@ static int __cpufreq_governor(struct cpufreq_policy *policy, | |||
1678 | return ret; | 1670 | return ret; |
1679 | } | 1671 | } |
1680 | 1672 | ||
1681 | |||
1682 | int cpufreq_register_governor(struct cpufreq_governor *governor) | 1673 | int cpufreq_register_governor(struct cpufreq_governor *governor) |
1683 | { | 1674 | { |
1684 | int err; | 1675 | int err; |
@@ -1703,7 +1694,6 @@ int cpufreq_register_governor(struct cpufreq_governor *governor) | |||
1703 | } | 1694 | } |
1704 | EXPORT_SYMBOL_GPL(cpufreq_register_governor); | 1695 | EXPORT_SYMBOL_GPL(cpufreq_register_governor); |
1705 | 1696 | ||
1706 | |||
1707 | void cpufreq_unregister_governor(struct cpufreq_governor *governor) | 1697 | void cpufreq_unregister_governor(struct cpufreq_governor *governor) |
1708 | { | 1698 | { |
1709 | #ifdef CONFIG_HOTPLUG_CPU | 1699 | #ifdef CONFIG_HOTPLUG_CPU |
@@ -1733,7 +1723,6 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor) | |||
1733 | EXPORT_SYMBOL_GPL(cpufreq_unregister_governor); | 1723 | EXPORT_SYMBOL_GPL(cpufreq_unregister_governor); |
1734 | 1724 | ||
1735 | 1725 | ||
1736 | |||
1737 | /********************************************************************* | 1726 | /********************************************************************* |
1738 | * POLICY INTERFACE * | 1727 | * POLICY INTERFACE * |
1739 | *********************************************************************/ | 1728 | *********************************************************************/ |
@@ -1762,7 +1751,6 @@ int cpufreq_get_policy(struct cpufreq_policy *policy, unsigned int cpu) | |||
1762 | } | 1751 | } |
1763 | EXPORT_SYMBOL(cpufreq_get_policy); | 1752 | EXPORT_SYMBOL(cpufreq_get_policy); |
1764 | 1753 | ||
1765 | |||
1766 | /* | 1754 | /* |
1767 | * data : current policy. | 1755 | * data : current policy. |
1768 | * policy : policy to be set. | 1756 | * policy : policy to be set. |
@@ -1796,8 +1784,10 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, | |||
1796 | blocking_notifier_call_chain(&cpufreq_policy_notifier_list, | 1784 | blocking_notifier_call_chain(&cpufreq_policy_notifier_list, |
1797 | CPUFREQ_INCOMPATIBLE, policy); | 1785 | CPUFREQ_INCOMPATIBLE, policy); |
1798 | 1786 | ||
1799 | /* verify the cpu speed can be set within this limit, | 1787 | /* |
1800 | which might be different to the first one */ | 1788 | * verify the cpu speed can be set within this limit, which might be |
1789 | * different to the first one | ||
1790 | */ | ||
1801 | ret = cpufreq_driver->verify(policy); | 1791 | ret = cpufreq_driver->verify(policy); |
1802 | if (ret) | 1792 | if (ret) |
1803 | goto error_out; | 1793 | goto error_out; |
@@ -1899,8 +1889,10 @@ int cpufreq_update_policy(unsigned int cpu) | |||
1899 | policy.policy = data->user_policy.policy; | 1889 | policy.policy = data->user_policy.policy; |
1900 | policy.governor = data->user_policy.governor; | 1890 | policy.governor = data->user_policy.governor; |
1901 | 1891 | ||
1902 | /* BIOS might change freq behind our back | 1892 | /* |
1903 | -> ask driver for current freq and notify governors about a change */ | 1893 | * BIOS might change freq behind our back |
1894 | * -> ask driver for current freq and notify governors about a change | ||
1895 | */ | ||
1904 | if (cpufreq_driver->get) { | 1896 | if (cpufreq_driver->get) { |
1905 | policy.cur = cpufreq_driver->get(cpu); | 1897 | policy.cur = cpufreq_driver->get(cpu); |
1906 | if (!data->cur) { | 1898 | if (!data->cur) { |
@@ -1949,7 +1941,7 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb, | |||
1949 | } | 1941 | } |
1950 | 1942 | ||
1951 | static struct notifier_block __refdata cpufreq_cpu_notifier = { | 1943 | static struct notifier_block __refdata cpufreq_cpu_notifier = { |
1952 | .notifier_call = cpufreq_cpu_callback, | 1944 | .notifier_call = cpufreq_cpu_callback, |
1953 | }; | 1945 | }; |
1954 | 1946 | ||
1955 | /********************************************************************* | 1947 | /********************************************************************* |
@@ -1961,7 +1953,7 @@ static struct notifier_block __refdata cpufreq_cpu_notifier = { | |||
1961 | * @driver_data: A struct cpufreq_driver containing the values# | 1953 | * @driver_data: A struct cpufreq_driver containing the values# |
1962 | * submitted by the CPU Frequency driver. | 1954 | * submitted by the CPU Frequency driver. |
1963 | * | 1955 | * |
1964 | * Registers a CPU Frequency driver to this core code. This code | 1956 | * Registers a CPU Frequency driver to this core code. This code |
1965 | * returns zero on success, -EBUSY when another driver got here first | 1957 | * returns zero on success, -EBUSY when another driver got here first |
1966 | * (and isn't unregistered in the meantime). | 1958 | * (and isn't unregistered in the meantime). |
1967 | * | 1959 | * |
@@ -2028,11 +2020,10 @@ err_null_driver: | |||
2028 | } | 2020 | } |
2029 | EXPORT_SYMBOL_GPL(cpufreq_register_driver); | 2021 | EXPORT_SYMBOL_GPL(cpufreq_register_driver); |
2030 | 2022 | ||
2031 | |||
2032 | /** | 2023 | /** |
2033 | * cpufreq_unregister_driver - unregister the current CPUFreq driver | 2024 | * cpufreq_unregister_driver - unregister the current CPUFreq driver |
2034 | * | 2025 | * |
2035 | * Unregister the current CPUFreq driver. Only call this if you have | 2026 | * Unregister the current CPUFreq driver. Only call this if you have |
2036 | * the right to do so, i.e. if you have succeeded in initialising before! | 2027 | * the right to do so, i.e. if you have succeeded in initialising before! |
2037 | * Returns zero if successful, and -EINVAL if the cpufreq_driver is | 2028 | * Returns zero if successful, and -EINVAL if the cpufreq_driver is |
2038 | * currently not initialised. | 2029 | * currently not initialised. |
diff --git a/drivers/cpufreq/cpufreq_governor.h b/drivers/cpufreq/cpufreq_governor.h index e7bbf767380d..6663ec3b3056 100644 --- a/drivers/cpufreq/cpufreq_governor.h +++ b/drivers/cpufreq/cpufreq_governor.h | |||
@@ -81,7 +81,7 @@ static ssize_t show_##file_name##_gov_sys \ | |||
81 | return sprintf(buf, "%u\n", tuners->file_name); \ | 81 | return sprintf(buf, "%u\n", tuners->file_name); \ |
82 | } \ | 82 | } \ |
83 | \ | 83 | \ |
84 | static ssize_t show_##file_name##_gov_pol \ | 84 | static ssize_t show_##file_name##_gov_pol \ |
85 | (struct cpufreq_policy *policy, char *buf) \ | 85 | (struct cpufreq_policy *policy, char *buf) \ |
86 | { \ | 86 | { \ |
87 | struct dbs_data *dbs_data = policy->governor_data; \ | 87 | struct dbs_data *dbs_data = policy->governor_data; \ |
@@ -91,7 +91,7 @@ static ssize_t show_##file_name##_gov_pol \ | |||
91 | 91 | ||
92 | #define store_one(_gov, file_name) \ | 92 | #define store_one(_gov, file_name) \ |
93 | static ssize_t store_##file_name##_gov_sys \ | 93 | static ssize_t store_##file_name##_gov_sys \ |
94 | (struct kobject *kobj, struct attribute *attr, const char *buf, size_t count) \ | 94 | (struct kobject *kobj, struct attribute *attr, const char *buf, size_t count) \ |
95 | { \ | 95 | { \ |
96 | struct dbs_data *dbs_data = _gov##_dbs_cdata.gdbs_data; \ | 96 | struct dbs_data *dbs_data = _gov##_dbs_cdata.gdbs_data; \ |
97 | return store_##file_name(dbs_data, buf, count); \ | 97 | return store_##file_name(dbs_data, buf, count); \ |
diff --git a/drivers/cpufreq/cpufreq_performance.c b/drivers/cpufreq/cpufreq_performance.c index ceee06849b91..9fef7d6e4e6a 100644 --- a/drivers/cpufreq/cpufreq_performance.c +++ b/drivers/cpufreq/cpufreq_performance.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/cpufreq.h> | 17 | #include <linux/cpufreq.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | 19 | ||
20 | |||
21 | static int cpufreq_governor_performance(struct cpufreq_policy *policy, | 20 | static int cpufreq_governor_performance(struct cpufreq_policy *policy, |
22 | unsigned int event) | 21 | unsigned int event) |
23 | { | 22 | { |
@@ -44,19 +43,16 @@ struct cpufreq_governor cpufreq_gov_performance = { | |||
44 | .owner = THIS_MODULE, | 43 | .owner = THIS_MODULE, |
45 | }; | 44 | }; |
46 | 45 | ||
47 | |||
48 | static int __init cpufreq_gov_performance_init(void) | 46 | static int __init cpufreq_gov_performance_init(void) |
49 | { | 47 | { |
50 | return cpufreq_register_governor(&cpufreq_gov_performance); | 48 | return cpufreq_register_governor(&cpufreq_gov_performance); |
51 | } | 49 | } |
52 | 50 | ||
53 | |||
54 | static void __exit cpufreq_gov_performance_exit(void) | 51 | static void __exit cpufreq_gov_performance_exit(void) |
55 | { | 52 | { |
56 | cpufreq_unregister_governor(&cpufreq_gov_performance); | 53 | cpufreq_unregister_governor(&cpufreq_gov_performance); |
57 | } | 54 | } |
58 | 55 | ||
59 | |||
60 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); | 56 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); |
61 | MODULE_DESCRIPTION("CPUfreq policy governor 'performance'"); | 57 | MODULE_DESCRIPTION("CPUfreq policy governor 'performance'"); |
62 | MODULE_LICENSE("GPL"); | 58 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/cpufreq/cpufreq_powersave.c b/drivers/cpufreq/cpufreq_powersave.c index 2d948a171155..32109a14f5dc 100644 --- a/drivers/cpufreq/cpufreq_powersave.c +++ b/drivers/cpufreq/cpufreq_powersave.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/cpufreq/cpufreq_powersave.c | 2 | * linux/drivers/cpufreq/cpufreq_powersave.c |
3 | * | 3 | * |
4 | * Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> | 4 | * Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> |
5 | * | 5 | * |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
@@ -48,13 +48,11 @@ static int __init cpufreq_gov_powersave_init(void) | |||
48 | return cpufreq_register_governor(&cpufreq_gov_powersave); | 48 | return cpufreq_register_governor(&cpufreq_gov_powersave); |
49 | } | 49 | } |
50 | 50 | ||
51 | |||
52 | static void __exit cpufreq_gov_powersave_exit(void) | 51 | static void __exit cpufreq_gov_powersave_exit(void) |
53 | { | 52 | { |
54 | cpufreq_unregister_governor(&cpufreq_gov_powersave); | 53 | cpufreq_unregister_governor(&cpufreq_gov_powersave); |
55 | } | 54 | } |
56 | 55 | ||
57 | |||
58 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); | 56 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); |
59 | MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'"); | 57 | MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'"); |
60 | MODULE_LICENSE("GPL"); | 58 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c index fb65decffa28..6d35caa91167 100644 --- a/drivers/cpufreq/cpufreq_stats.c +++ b/drivers/cpufreq/cpufreq_stats.c | |||
@@ -27,7 +27,7 @@ static spinlock_t cpufreq_stats_lock; | |||
27 | struct cpufreq_stats { | 27 | struct cpufreq_stats { |
28 | unsigned int cpu; | 28 | unsigned int cpu; |
29 | unsigned int total_trans; | 29 | unsigned int total_trans; |
30 | unsigned long long last_time; | 30 | unsigned long long last_time; |
31 | unsigned int max_state; | 31 | unsigned int max_state; |
32 | unsigned int state_num; | 32 | unsigned int state_num; |
33 | unsigned int last_index; | 33 | unsigned int last_index; |
@@ -116,7 +116,7 @@ static ssize_t show_trans_table(struct cpufreq_policy *policy, char *buf) | |||
116 | len += snprintf(buf + len, PAGE_SIZE - len, "%9u: ", | 116 | len += snprintf(buf + len, PAGE_SIZE - len, "%9u: ", |
117 | stat->freq_table[i]); | 117 | stat->freq_table[i]); |
118 | 118 | ||
119 | for (j = 0; j < stat->state_num; j++) { | 119 | for (j = 0; j < stat->state_num; j++) { |
120 | if (len >= PAGE_SIZE) | 120 | if (len >= PAGE_SIZE) |
121 | break; | 121 | break; |
122 | len += snprintf(buf + len, PAGE_SIZE - len, "%9u ", | 122 | len += snprintf(buf + len, PAGE_SIZE - len, "%9u ", |
diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 5dc77b7a7594..03078090b5f7 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c | |||
@@ -55,7 +55,6 @@ static int cpufreq_set(struct cpufreq_policy *policy, unsigned int freq) | |||
55 | return ret; | 55 | return ret; |
56 | } | 56 | } |
57 | 57 | ||
58 | |||
59 | static ssize_t show_speed(struct cpufreq_policy *policy, char *buf) | 58 | static ssize_t show_speed(struct cpufreq_policy *policy, char *buf) |
60 | { | 59 | { |
61 | return sprintf(buf, "%u\n", policy->cur); | 60 | return sprintf(buf, "%u\n", policy->cur); |
@@ -101,7 +100,6 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, | |||
101 | return rc; | 100 | return rc; |
102 | } | 101 | } |
103 | 102 | ||
104 | |||
105 | #ifndef CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE | 103 | #ifndef CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE |
106 | static | 104 | static |
107 | #endif | 105 | #endif |
@@ -118,13 +116,11 @@ static int __init cpufreq_gov_userspace_init(void) | |||
118 | return cpufreq_register_governor(&cpufreq_gov_userspace); | 116 | return cpufreq_register_governor(&cpufreq_gov_userspace); |
119 | } | 117 | } |
120 | 118 | ||
121 | |||
122 | static void __exit cpufreq_gov_userspace_exit(void) | 119 | static void __exit cpufreq_gov_userspace_exit(void) |
123 | { | 120 | { |
124 | cpufreq_unregister_governor(&cpufreq_gov_userspace); | 121 | cpufreq_unregister_governor(&cpufreq_gov_userspace); |
125 | } | 122 | } |
126 | 123 | ||
127 | |||
128 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>, " | 124 | MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>, " |
129 | "Russell King <rmk@arm.linux.org.uk>"); | 125 | "Russell King <rmk@arm.linux.org.uk>"); |
130 | MODULE_DESCRIPTION("CPUfreq policy governor 'userspace'"); | 126 | MODULE_DESCRIPTION("CPUfreq policy governor 'userspace'"); |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 125719d41285..3c7ee2f90370 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -1,8 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/linux/cpufreq.h | 2 | * linux/include/linux/cpufreq.h |
3 | * | 3 | * |
4 | * Copyright (C) 2001 Russell King | 4 | * Copyright (C) 2001 Russell King |
5 | * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> | 5 | * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
@@ -26,7 +26,6 @@ | |||
26 | /* Print length for names. Extra 1 space for accomodating '\n' in prints */ | 26 | /* Print length for names. Extra 1 space for accomodating '\n' in prints */ |
27 | #define CPUFREQ_NAME_PLEN (CPUFREQ_NAME_LEN + 1) | 27 | #define CPUFREQ_NAME_PLEN (CPUFREQ_NAME_LEN + 1) |
28 | 28 | ||
29 | |||
30 | /********************************************************************* | 29 | /********************************************************************* |
31 | * CPUFREQ NOTIFIER INTERFACE * | 30 | * CPUFREQ NOTIFIER INTERFACE * |
32 | *********************************************************************/ | 31 | *********************************************************************/ |
@@ -153,17 +152,18 @@ struct cpufreq_freqs { | |||
153 | u8 flags; /* flags of cpufreq_driver, see below. */ | 152 | u8 flags; /* flags of cpufreq_driver, see below. */ |
154 | }; | 153 | }; |
155 | 154 | ||
156 | |||
157 | /** | 155 | /** |
158 | * cpufreq_scale - "old * mult / div" calculation for large values (32-bit-arch safe) | 156 | * cpufreq_scale - "old * mult / div" calculation for large values (32-bit-arch |
157 | * safe) | ||
159 | * @old: old value | 158 | * @old: old value |
160 | * @div: divisor | 159 | * @div: divisor |
161 | * @mult: multiplier | 160 | * @mult: multiplier |
162 | * | 161 | * |
163 | * | 162 | * |
164 | * new = old * mult / div | 163 | * new = old * mult / div |
165 | */ | 164 | */ |
166 | static inline unsigned long cpufreq_scale(unsigned long old, u_int div, u_int mult) | 165 | static inline unsigned long cpufreq_scale(unsigned long old, u_int div, |
166 | u_int mult) | ||
167 | { | 167 | { |
168 | #if BITS_PER_LONG == 32 | 168 | #if BITS_PER_LONG == 32 |
169 | 169 | ||
@@ -216,14 +216,12 @@ extern int __cpufreq_driver_target(struct cpufreq_policy *policy, | |||
216 | unsigned int target_freq, | 216 | unsigned int target_freq, |
217 | unsigned int relation); | 217 | unsigned int relation); |
218 | 218 | ||
219 | |||
220 | extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy, | 219 | extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy, |
221 | unsigned int cpu); | 220 | unsigned int cpu); |
222 | 221 | ||
223 | int cpufreq_register_governor(struct cpufreq_governor *governor); | 222 | int cpufreq_register_governor(struct cpufreq_governor *governor); |
224 | void cpufreq_unregister_governor(struct cpufreq_governor *governor); | 223 | void cpufreq_unregister_governor(struct cpufreq_governor *governor); |
225 | 224 | ||
226 | |||
227 | /********************************************************************* | 225 | /********************************************************************* |
228 | * CPUFREQ DRIVER INTERFACE * | 226 | * CPUFREQ DRIVER INTERFACE * |
229 | *********************************************************************/ | 227 | *********************************************************************/ |
@@ -234,7 +232,7 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor); | |||
234 | struct freq_attr; | 232 | struct freq_attr; |
235 | 233 | ||
236 | struct cpufreq_driver { | 234 | struct cpufreq_driver { |
237 | struct module *owner; | 235 | struct module *owner; |
238 | char name[CPUFREQ_NAME_LEN]; | 236 | char name[CPUFREQ_NAME_LEN]; |
239 | u8 flags; | 237 | u8 flags; |
240 | /* | 238 | /* |
@@ -282,11 +280,11 @@ struct cpufreq_driver { | |||
282 | int cpufreq_register_driver(struct cpufreq_driver *driver_data); | 280 | int cpufreq_register_driver(struct cpufreq_driver *driver_data); |
283 | int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); | 281 | int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); |
284 | 282 | ||
285 | |||
286 | void cpufreq_notify_transition(struct cpufreq_policy *policy, | 283 | void cpufreq_notify_transition(struct cpufreq_policy *policy, |
287 | struct cpufreq_freqs *freqs, unsigned int state); | 284 | struct cpufreq_freqs *freqs, unsigned int state); |
288 | 285 | ||
289 | static inline void cpufreq_verify_within_limits(struct cpufreq_policy *policy, unsigned int min, unsigned int max) | 286 | static inline void cpufreq_verify_within_limits(struct cpufreq_policy *policy, |
287 | unsigned int min, unsigned int max) | ||
290 | { | 288 | { |
291 | if (policy->min < min) | 289 | if (policy->min < min) |
292 | policy->min = min; | 290 | policy->min = min; |
@@ -349,7 +347,9 @@ bool have_governor_per_policy(void); | |||
349 | struct kobject *get_governor_parent_kobj(struct cpufreq_policy *policy); | 347 | struct kobject *get_governor_parent_kobj(struct cpufreq_policy *policy); |
350 | 348 | ||
351 | #ifdef CONFIG_CPU_FREQ | 349 | #ifdef CONFIG_CPU_FREQ |
352 | /* query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it */ | 350 | /* |
351 | * query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it | ||
352 | */ | ||
353 | unsigned int cpufreq_get(unsigned int cpu); | 353 | unsigned int cpufreq_get(unsigned int cpu); |
354 | #else | 354 | #else |
355 | static inline unsigned int cpufreq_get(unsigned int cpu) | 355 | static inline unsigned int cpufreq_get(unsigned int cpu) |
@@ -358,7 +358,9 @@ static inline unsigned int cpufreq_get(unsigned int cpu) | |||
358 | } | 358 | } |
359 | #endif | 359 | #endif |
360 | 360 | ||
361 | /* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it */ | 361 | /* |
362 | * query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it | ||
363 | */ | ||
362 | #ifdef CONFIG_CPU_FREQ | 364 | #ifdef CONFIG_CPU_FREQ |
363 | unsigned int cpufreq_quick_get(unsigned int cpu); | 365 | unsigned int cpufreq_quick_get(unsigned int cpu); |
364 | unsigned int cpufreq_quick_get_max(unsigned int cpu); | 366 | unsigned int cpufreq_quick_get_max(unsigned int cpu); |
@@ -373,16 +375,14 @@ static inline unsigned int cpufreq_quick_get_max(unsigned int cpu) | |||
373 | } | 375 | } |
374 | #endif | 376 | #endif |
375 | 377 | ||
376 | |||
377 | /********************************************************************* | 378 | /********************************************************************* |
378 | * CPUFREQ DEFAULT GOVERNOR * | 379 | * CPUFREQ DEFAULT GOVERNOR * |
379 | *********************************************************************/ | 380 | *********************************************************************/ |
380 | 381 | ||
381 | |||
382 | /* | 382 | /* |
383 | Performance governor is fallback governor if any other gov failed to | 383 | * Performance governor is fallback governor if any other gov failed to auto |
384 | auto load due latency restrictions | 384 | * load due latency restrictions |
385 | */ | 385 | */ |
386 | #ifdef CONFIG_CPU_FREQ_GOV_PERFORMANCE | 386 | #ifdef CONFIG_CPU_FREQ_GOV_PERFORMANCE |
387 | extern struct cpufreq_governor cpufreq_gov_performance; | 387 | extern struct cpufreq_governor cpufreq_gov_performance; |
388 | #endif | 388 | #endif |
@@ -402,7 +402,6 @@ extern struct cpufreq_governor cpufreq_gov_conservative; | |||
402 | #define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative) | 402 | #define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative) |
403 | #endif | 403 | #endif |
404 | 404 | ||
405 | |||
406 | /********************************************************************* | 405 | /********************************************************************* |
407 | * FREQUENCY TABLE HELPERS * | 406 | * FREQUENCY TABLE HELPERS * |
408 | *********************************************************************/ | 407 | *********************************************************************/ |