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>
This commit is contained in:
Viresh Kumar 2013-06-19 14:19:33 +05:30 коммит произвёл Rafael J. Wysocki
Родитель 95731ebb11
Коммит bb176f7d03
7 изменённых файлов: 53 добавлений и 73 удалений

Просмотреть файл

@ -3,6 +3,7 @@
* *
* Copyright (C) 2001 Russell King * Copyright (C) 2001 Russell King
* (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de>
* (C) 2013 Viresh Kumar <viresh.kumar@linaro.org>
* *
* Oct 2005 - Ashok Raj <ashok.raj@intel.com> * Oct 2005 - Ashok Raj <ashok.raj@intel.com>
* Added handling for CPU hotplug * Added handling for CPU hotplug
@ -12,7 +13,6 @@
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
@ -44,12 +44,13 @@
*/ */
static struct cpufreq_driver *cpufreq_driver; static struct cpufreq_driver *cpufreq_driver;
static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data); static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data);
static DEFINE_RWLOCK(cpufreq_driver_lock);
static DEFINE_MUTEX(cpufreq_governor_lock);
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
/* This one keeps track of the previously set governor of a removed CPU */ /* This one keeps track of the previously set governor of a removed CPU */
static DEFINE_PER_CPU(char[CPUFREQ_NAME_LEN], cpufreq_cpu_governor); static DEFINE_PER_CPU(char[CPUFREQ_NAME_LEN], cpufreq_cpu_governor);
#endif #endif
static DEFINE_RWLOCK(cpufreq_driver_lock);
static DEFINE_MUTEX(cpufreq_governor_lock);
/* /*
* cpu_policy_rwsem is a per CPU reader-writer semaphore designed to cure * 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)
if (!try_module_get(cpufreq_driver->owner)) if (!try_module_get(cpufreq_driver->owner))
goto err_out_unlock; goto err_out_unlock;
/* get the CPU */ /* get the CPU */
data = per_cpu(cpufreq_cpu_data, cpu); data = per_cpu(cpufreq_cpu_data, cpu);
@ -269,7 +269,7 @@ static void cpufreq_cpu_put_sysfs(struct cpufreq_policy *data)
*/ */
#ifndef CONFIG_SMP #ifndef CONFIG_SMP
static unsigned long l_p_j_ref; static unsigned long l_p_j_ref;
static unsigned int l_p_j_ref_freq; static unsigned int l_p_j_ref_freq;
static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
{ {
@ -282,7 +282,7 @@ static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
pr_debug("saving %lu as reference value for loops_per_jiffy; " pr_debug("saving %lu as reference value for loops_per_jiffy; "
"freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq); "freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq);
} }
if ((val == CPUFREQ_POSTCHANGE && ci->old != ci->new) || if ((val == CPUFREQ_POSTCHANGE && ci->old != ci->new) ||
(val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) { (val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) {
loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq,
ci->new); ci->new);
@ -297,7 +297,6 @@ static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
} }
#endif #endif
void __cpufreq_notify_transition(struct cpufreq_policy *policy, void __cpufreq_notify_transition(struct cpufreq_policy *policy,
struct cpufreq_freqs *freqs, unsigned int state) struct cpufreq_freqs *freqs, unsigned int state)
{ {
@ -343,6 +342,7 @@ void __cpufreq_notify_transition(struct cpufreq_policy *policy,
break; break;
} }
} }
/** /**
* cpufreq_notify_transition - call notifier chain and adjust_jiffies * cpufreq_notify_transition - call notifier chain and adjust_jiffies
* on frequency transition. * on frequency transition.
@ -360,7 +360,6 @@ void cpufreq_notify_transition(struct cpufreq_policy *policy,
EXPORT_SYMBOL_GPL(cpufreq_notify_transition); EXPORT_SYMBOL_GPL(cpufreq_notify_transition);
/********************************************************************* /*********************************************************************
* SYSFS INTERFACE * * SYSFS INTERFACE *
*********************************************************************/ *********************************************************************/
@ -425,7 +424,6 @@ out:
return err; return err;
} }
/** /**
* cpufreq_per_cpu_attr_read() / show_##file_name() - * cpufreq_per_cpu_attr_read() / show_##file_name() -
* print out cpufreq information * print out cpufreq information
@ -490,7 +488,6 @@ static ssize_t show_cpuinfo_cur_freq(struct cpufreq_policy *policy,
return sprintf(buf, "%u\n", cur_freq); return sprintf(buf, "%u\n", cur_freq);
} }
/** /**
* show_scaling_governor - show the current policy for the specified CPU * show_scaling_governor - show the current policy for the specified CPU
*/ */
@ -506,7 +503,6 @@ static ssize_t show_scaling_governor(struct cpufreq_policy *policy, char *buf)
return -EINVAL; return -EINVAL;
} }
/** /**
* store_scaling_governor - store policy for the specified CPU * store_scaling_governor - store policy for the specified CPU
*/ */
@ -529,8 +525,10 @@ static ssize_t store_scaling_governor(struct cpufreq_policy *policy,
&new_policy.governor)) &new_policy.governor))
return -EINVAL; return -EINVAL;
/* Do not use cpufreq_set_policy here or the user_policy.max /*
will be wrongly overridden */ * Do not use cpufreq_set_policy here or the user_policy.max
* will be wrongly overridden
*/
ret = __cpufreq_set_policy(policy, &new_policy); ret = __cpufreq_set_policy(policy, &new_policy);
policy->user_policy.policy = policy->policy; policy->user_policy.policy = policy->policy;
@ -1094,7 +1092,8 @@ static void update_policy_cpu(struct cpufreq_policy *policy, unsigned int cpu)
* Caller should already have policy_rwsem in write mode for this CPU. * Caller should already have policy_rwsem in write mode for this CPU.
* This routine frees the rwsem before returning. * This routine frees the rwsem before returning.
*/ */
static int __cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) static int __cpufreq_remove_dev(struct device *dev,
struct subsys_interface *sif)
{ {
unsigned int cpu = dev->id, ret, cpus; unsigned int cpu = dev->id, ret, cpus;
unsigned long flags; unsigned long flags;
@ -1201,7 +1200,6 @@ static int __cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif
return 0; return 0;
} }
static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif) static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif)
{ {
unsigned int cpu = dev->id; unsigned int cpu = dev->id;
@ -1214,7 +1212,6 @@ static int cpufreq_remove_dev(struct device *dev, struct subsys_interface *sif)
return retval; return retval;
} }
static void handle_update(struct work_struct *work) static void handle_update(struct work_struct *work)
{ {
struct cpufreq_policy *policy = struct cpufreq_policy *policy =
@ -1225,7 +1222,8 @@ static void handle_update(struct work_struct *work)
} }
/** /**
* cpufreq_out_of_sync - If actual and saved CPU frequency differs, we're in deep trouble. * cpufreq_out_of_sync - If actual and saved CPU frequency differs, we're
* in deep trouble.
* @cpu: cpu number * @cpu: cpu number
* @old_freq: CPU frequency the kernel thinks the CPU runs at * @old_freq: CPU frequency the kernel thinks the CPU runs at
* @new_freq: CPU frequency the CPU actually runs at * @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,
struct cpufreq_freqs freqs; struct cpufreq_freqs freqs;
unsigned long flags; unsigned long flags;
pr_debug("Warning: CPU frequency out of sync: cpufreq and timing " pr_debug("Warning: CPU frequency out of sync: cpufreq and timing "
"core thinks of %u, is %u kHz.\n", old_freq, new_freq); "core thinks of %u, is %u kHz.\n", old_freq, new_freq);
@ -1255,7 +1252,6 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq,
cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
} }
/** /**
* cpufreq_quick_get - get the CPU frequency (in kHz) from policy->cur * cpufreq_quick_get - get the CPU frequency (in kHz) from policy->cur
* @cpu: CPU number * @cpu: CPU number
@ -1301,7 +1297,6 @@ unsigned int cpufreq_quick_get_max(unsigned int cpu)
} }
EXPORT_SYMBOL(cpufreq_quick_get_max); EXPORT_SYMBOL(cpufreq_quick_get_max);
static unsigned int __cpufreq_get(unsigned int cpu) static unsigned int __cpufreq_get(unsigned int cpu)
{ {
struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu);
@ -1360,7 +1355,6 @@ static struct subsys_interface cpufreq_interface = {
.remove_dev = cpufreq_remove_dev, .remove_dev = cpufreq_remove_dev,
}; };
/** /**
* cpufreq_bp_suspend - Prepare the boot CPU for system suspend. * cpufreq_bp_suspend - Prepare the boot CPU for system suspend.
* *
@ -1497,11 +1491,10 @@ int cpufreq_register_notifier(struct notifier_block *nb, unsigned int list)
} }
EXPORT_SYMBOL(cpufreq_register_notifier); EXPORT_SYMBOL(cpufreq_register_notifier);
/** /**
* cpufreq_unregister_notifier - unregister a driver with cpufreq * cpufreq_unregister_notifier - unregister a driver with cpufreq
* @nb: notifier block to be unregistered * @nb: notifier block to be unregistered
* @list: CPUFREQ_TRANSITION_NOTIFIER or CPUFREQ_POLICY_NOTIFIER * @list: CPUFREQ_TRANSITION_NOTIFIER or CPUFREQ_POLICY_NOTIFIER
* *
* Remove a driver from the CPU frequency notifier list. * Remove a driver from the CPU frequency notifier list.
* *
@ -1537,7 +1530,6 @@ EXPORT_SYMBOL(cpufreq_unregister_notifier);
* GOVERNORS * * GOVERNORS *
*********************************************************************/ *********************************************************************/
int __cpufreq_driver_target(struct cpufreq_policy *policy, int __cpufreq_driver_target(struct cpufreq_policy *policy,
unsigned int target_freq, unsigned int target_freq,
unsigned int relation) unsigned int relation)
@ -1678,7 +1670,6 @@ static int __cpufreq_governor(struct cpufreq_policy *policy,
return ret; return ret;
} }
int cpufreq_register_governor(struct cpufreq_governor *governor) int cpufreq_register_governor(struct cpufreq_governor *governor)
{ {
int err; int err;
@ -1703,7 +1694,6 @@ int cpufreq_register_governor(struct cpufreq_governor *governor)
} }
EXPORT_SYMBOL_GPL(cpufreq_register_governor); EXPORT_SYMBOL_GPL(cpufreq_register_governor);
void cpufreq_unregister_governor(struct cpufreq_governor *governor) void cpufreq_unregister_governor(struct cpufreq_governor *governor)
{ {
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
@ -1733,7 +1723,6 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor)
EXPORT_SYMBOL_GPL(cpufreq_unregister_governor); EXPORT_SYMBOL_GPL(cpufreq_unregister_governor);
/********************************************************************* /*********************************************************************
* POLICY INTERFACE * * POLICY INTERFACE *
*********************************************************************/ *********************************************************************/
@ -1762,7 +1751,6 @@ int cpufreq_get_policy(struct cpufreq_policy *policy, unsigned int cpu)
} }
EXPORT_SYMBOL(cpufreq_get_policy); EXPORT_SYMBOL(cpufreq_get_policy);
/* /*
* data : current policy. * data : current policy.
* policy : policy to be set. * policy : policy to be set.
@ -1796,8 +1784,10 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data,
blocking_notifier_call_chain(&cpufreq_policy_notifier_list, blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
CPUFREQ_INCOMPATIBLE, policy); CPUFREQ_INCOMPATIBLE, policy);
/* verify the cpu speed can be set within this limit, /*
which might be different to the first one */ * verify the cpu speed can be set within this limit, which might be
* different to the first one
*/
ret = cpufreq_driver->verify(policy); ret = cpufreq_driver->verify(policy);
if (ret) if (ret)
goto error_out; goto error_out;
@ -1899,8 +1889,10 @@ int cpufreq_update_policy(unsigned int cpu)
policy.policy = data->user_policy.policy; policy.policy = data->user_policy.policy;
policy.governor = data->user_policy.governor; policy.governor = data->user_policy.governor;
/* BIOS might change freq behind our back /*
-> ask driver for current freq and notify governors about a change */ * BIOS might change freq behind our back
* -> ask driver for current freq and notify governors about a change
*/
if (cpufreq_driver->get) { if (cpufreq_driver->get) {
policy.cur = cpufreq_driver->get(cpu); policy.cur = cpufreq_driver->get(cpu);
if (!data->cur) { if (!data->cur) {
@ -1949,7 +1941,7 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb,
} }
static struct notifier_block __refdata cpufreq_cpu_notifier = { static struct notifier_block __refdata cpufreq_cpu_notifier = {
.notifier_call = cpufreq_cpu_callback, .notifier_call = cpufreq_cpu_callback,
}; };
/********************************************************************* /*********************************************************************
@ -1961,7 +1953,7 @@ static struct notifier_block __refdata cpufreq_cpu_notifier = {
* @driver_data: A struct cpufreq_driver containing the values# * @driver_data: A struct cpufreq_driver containing the values#
* submitted by the CPU Frequency driver. * submitted by the CPU Frequency driver.
* *
* Registers a CPU Frequency driver to this core code. This code * Registers a CPU Frequency driver to this core code. This code
* returns zero on success, -EBUSY when another driver got here first * returns zero on success, -EBUSY when another driver got here first
* (and isn't unregistered in the meantime). * (and isn't unregistered in the meantime).
* *
@ -2028,11 +2020,10 @@ err_null_driver:
} }
EXPORT_SYMBOL_GPL(cpufreq_register_driver); EXPORT_SYMBOL_GPL(cpufreq_register_driver);
/** /**
* cpufreq_unregister_driver - unregister the current CPUFreq driver * cpufreq_unregister_driver - unregister the current CPUFreq driver
* *
* Unregister the current CPUFreq driver. Only call this if you have * Unregister the current CPUFreq driver. Only call this if you have
* the right to do so, i.e. if you have succeeded in initialising before! * the right to do so, i.e. if you have succeeded in initialising before!
* Returns zero if successful, and -EINVAL if the cpufreq_driver is * Returns zero if successful, and -EINVAL if the cpufreq_driver is
* currently not initialised. * currently not initialised.

Просмотреть файл

@ -81,7 +81,7 @@ static ssize_t show_##file_name##_gov_sys \
return sprintf(buf, "%u\n", tuners->file_name); \ return sprintf(buf, "%u\n", tuners->file_name); \
} \ } \
\ \
static ssize_t show_##file_name##_gov_pol \ static ssize_t show_##file_name##_gov_pol \
(struct cpufreq_policy *policy, char *buf) \ (struct cpufreq_policy *policy, char *buf) \
{ \ { \
struct dbs_data *dbs_data = policy->governor_data; \ struct dbs_data *dbs_data = policy->governor_data; \
@ -91,7 +91,7 @@ static ssize_t show_##file_name##_gov_pol \
#define store_one(_gov, file_name) \ #define store_one(_gov, file_name) \
static ssize_t store_##file_name##_gov_sys \ static ssize_t store_##file_name##_gov_sys \
(struct kobject *kobj, struct attribute *attr, const char *buf, size_t count) \ (struct kobject *kobj, struct attribute *attr, const char *buf, size_t count) \
{ \ { \
struct dbs_data *dbs_data = _gov##_dbs_cdata.gdbs_data; \ struct dbs_data *dbs_data = _gov##_dbs_cdata.gdbs_data; \
return store_##file_name(dbs_data, buf, count); \ return store_##file_name(dbs_data, buf, count); \

Просмотреть файл

@ -17,7 +17,6 @@
#include <linux/cpufreq.h> #include <linux/cpufreq.h>
#include <linux/init.h> #include <linux/init.h>
static int cpufreq_governor_performance(struct cpufreq_policy *policy, static int cpufreq_governor_performance(struct cpufreq_policy *policy,
unsigned int event) unsigned int event)
{ {
@ -44,19 +43,16 @@ struct cpufreq_governor cpufreq_gov_performance = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
}; };
static int __init cpufreq_gov_performance_init(void) static int __init cpufreq_gov_performance_init(void)
{ {
return cpufreq_register_governor(&cpufreq_gov_performance); return cpufreq_register_governor(&cpufreq_gov_performance);
} }
static void __exit cpufreq_gov_performance_exit(void) static void __exit cpufreq_gov_performance_exit(void)
{ {
cpufreq_unregister_governor(&cpufreq_gov_performance); cpufreq_unregister_governor(&cpufreq_gov_performance);
} }
MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
MODULE_DESCRIPTION("CPUfreq policy governor 'performance'"); MODULE_DESCRIPTION("CPUfreq policy governor 'performance'");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

Просмотреть файл

@ -1,7 +1,7 @@
/* /*
* linux/drivers/cpufreq/cpufreq_powersave.c * linux/drivers/cpufreq/cpufreq_powersave.c
* *
* Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> * Copyright (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -48,13 +48,11 @@ static int __init cpufreq_gov_powersave_init(void)
return cpufreq_register_governor(&cpufreq_gov_powersave); return cpufreq_register_governor(&cpufreq_gov_powersave);
} }
static void __exit cpufreq_gov_powersave_exit(void) static void __exit cpufreq_gov_powersave_exit(void)
{ {
cpufreq_unregister_governor(&cpufreq_gov_powersave); cpufreq_unregister_governor(&cpufreq_gov_powersave);
} }
MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>"); MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'"); MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

Просмотреть файл

@ -27,7 +27,7 @@ static spinlock_t cpufreq_stats_lock;
struct cpufreq_stats { struct cpufreq_stats {
unsigned int cpu; unsigned int cpu;
unsigned int total_trans; unsigned int total_trans;
unsigned long long last_time; unsigned long long last_time;
unsigned int max_state; unsigned int max_state;
unsigned int state_num; unsigned int state_num;
unsigned int last_index; unsigned int last_index;
@ -116,7 +116,7 @@ static ssize_t show_trans_table(struct cpufreq_policy *policy, char *buf)
len += snprintf(buf + len, PAGE_SIZE - len, "%9u: ", len += snprintf(buf + len, PAGE_SIZE - len, "%9u: ",
stat->freq_table[i]); stat->freq_table[i]);
for (j = 0; j < stat->state_num; j++) { for (j = 0; j < stat->state_num; j++) {
if (len >= PAGE_SIZE) if (len >= PAGE_SIZE)
break; break;
len += snprintf(buf + len, PAGE_SIZE - len, "%9u ", len += snprintf(buf + len, PAGE_SIZE - len, "%9u ",

Просмотреть файл

@ -55,7 +55,6 @@ static int cpufreq_set(struct cpufreq_policy *policy, unsigned int freq)
return ret; return ret;
} }
static ssize_t show_speed(struct cpufreq_policy *policy, char *buf) static ssize_t show_speed(struct cpufreq_policy *policy, char *buf)
{ {
return sprintf(buf, "%u\n", policy->cur); return sprintf(buf, "%u\n", policy->cur);
@ -101,7 +100,6 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy,
return rc; return rc;
} }
#ifndef CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE #ifndef CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE
static static
#endif #endif
@ -118,13 +116,11 @@ static int __init cpufreq_gov_userspace_init(void)
return cpufreq_register_governor(&cpufreq_gov_userspace); return cpufreq_register_governor(&cpufreq_gov_userspace);
} }
static void __exit cpufreq_gov_userspace_exit(void) static void __exit cpufreq_gov_userspace_exit(void)
{ {
cpufreq_unregister_governor(&cpufreq_gov_userspace); cpufreq_unregister_governor(&cpufreq_gov_userspace);
} }
MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>, " MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>, "
"Russell King <rmk@arm.linux.org.uk>"); "Russell King <rmk@arm.linux.org.uk>");
MODULE_DESCRIPTION("CPUfreq policy governor 'userspace'"); MODULE_DESCRIPTION("CPUfreq policy governor 'userspace'");

Просмотреть файл

@ -1,8 +1,8 @@
/* /*
* linux/include/linux/cpufreq.h * linux/include/linux/cpufreq.h
* *
* Copyright (C) 2001 Russell King * Copyright (C) 2001 Russell King
* (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
@ -26,7 +26,6 @@
/* Print length for names. Extra 1 space for accomodating '\n' in prints */ /* Print length for names. Extra 1 space for accomodating '\n' in prints */
#define CPUFREQ_NAME_PLEN (CPUFREQ_NAME_LEN + 1) #define CPUFREQ_NAME_PLEN (CPUFREQ_NAME_LEN + 1)
/********************************************************************* /*********************************************************************
* CPUFREQ NOTIFIER INTERFACE * * CPUFREQ NOTIFIER INTERFACE *
*********************************************************************/ *********************************************************************/
@ -153,17 +152,18 @@ struct cpufreq_freqs {
u8 flags; /* flags of cpufreq_driver, see below. */ u8 flags; /* flags of cpufreq_driver, see below. */
}; };
/** /**
* cpufreq_scale - "old * mult / div" calculation for large values (32-bit-arch safe) * cpufreq_scale - "old * mult / div" calculation for large values (32-bit-arch
* safe)
* @old: old value * @old: old value
* @div: divisor * @div: divisor
* @mult: multiplier * @mult: multiplier
* *
* *
* new = old * mult / div * new = old * mult / div
*/ */
static inline unsigned long cpufreq_scale(unsigned long old, u_int div, u_int mult) static inline unsigned long cpufreq_scale(unsigned long old, u_int div,
u_int mult)
{ {
#if BITS_PER_LONG == 32 #if BITS_PER_LONG == 32
@ -216,14 +216,12 @@ extern int __cpufreq_driver_target(struct cpufreq_policy *policy,
unsigned int target_freq, unsigned int target_freq,
unsigned int relation); unsigned int relation);
extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy, extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy,
unsigned int cpu); unsigned int cpu);
int cpufreq_register_governor(struct cpufreq_governor *governor); int cpufreq_register_governor(struct cpufreq_governor *governor);
void cpufreq_unregister_governor(struct cpufreq_governor *governor); void cpufreq_unregister_governor(struct cpufreq_governor *governor);
/********************************************************************* /*********************************************************************
* CPUFREQ DRIVER INTERFACE * * CPUFREQ DRIVER INTERFACE *
*********************************************************************/ *********************************************************************/
@ -234,7 +232,7 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor);
struct freq_attr; struct freq_attr;
struct cpufreq_driver { struct cpufreq_driver {
struct module *owner; struct module *owner;
char name[CPUFREQ_NAME_LEN]; char name[CPUFREQ_NAME_LEN];
u8 flags; u8 flags;
/* /*
@ -282,11 +280,11 @@ struct cpufreq_driver {
int cpufreq_register_driver(struct cpufreq_driver *driver_data); int cpufreq_register_driver(struct cpufreq_driver *driver_data);
int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); int cpufreq_unregister_driver(struct cpufreq_driver *driver_data);
void cpufreq_notify_transition(struct cpufreq_policy *policy, void cpufreq_notify_transition(struct cpufreq_policy *policy,
struct cpufreq_freqs *freqs, unsigned int state); struct cpufreq_freqs *freqs, unsigned int state);
static inline void cpufreq_verify_within_limits(struct cpufreq_policy *policy, unsigned int min, unsigned int max) static inline void cpufreq_verify_within_limits(struct cpufreq_policy *policy,
unsigned int min, unsigned int max)
{ {
if (policy->min < min) if (policy->min < min)
policy->min = min; policy->min = min;
@ -349,7 +347,9 @@ bool have_governor_per_policy(void);
struct kobject *get_governor_parent_kobj(struct cpufreq_policy *policy); struct kobject *get_governor_parent_kobj(struct cpufreq_policy *policy);
#ifdef CONFIG_CPU_FREQ #ifdef CONFIG_CPU_FREQ
/* query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it */ /*
* query the current CPU frequency (in kHz). If zero, cpufreq couldn't detect it
*/
unsigned int cpufreq_get(unsigned int cpu); unsigned int cpufreq_get(unsigned int cpu);
#else #else
static inline unsigned int cpufreq_get(unsigned int cpu) static inline unsigned int cpufreq_get(unsigned int cpu)
@ -358,7 +358,9 @@ static inline unsigned int cpufreq_get(unsigned int cpu)
} }
#endif #endif
/* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it */ /*
* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it
*/
#ifdef CONFIG_CPU_FREQ #ifdef CONFIG_CPU_FREQ
unsigned int cpufreq_quick_get(unsigned int cpu); unsigned int cpufreq_quick_get(unsigned int cpu);
unsigned int cpufreq_quick_get_max(unsigned int cpu); unsigned int cpufreq_quick_get_max(unsigned int cpu);
@ -373,16 +375,14 @@ static inline unsigned int cpufreq_quick_get_max(unsigned int cpu)
} }
#endif #endif
/********************************************************************* /*********************************************************************
* CPUFREQ DEFAULT GOVERNOR * * CPUFREQ DEFAULT GOVERNOR *
*********************************************************************/ *********************************************************************/
/* /*
Performance governor is fallback governor if any other gov failed to * Performance governor is fallback governor if any other gov failed to auto
auto load due latency restrictions * load due latency restrictions
*/ */
#ifdef CONFIG_CPU_FREQ_GOV_PERFORMANCE #ifdef CONFIG_CPU_FREQ_GOV_PERFORMANCE
extern struct cpufreq_governor cpufreq_gov_performance; extern struct cpufreq_governor cpufreq_gov_performance;
#endif #endif
@ -402,7 +402,6 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative) #define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative)
#endif #endif
/********************************************************************* /*********************************************************************
* FREQUENCY TABLE HELPERS * * FREQUENCY TABLE HELPERS *
*********************************************************************/ *********************************************************************/