[CPUFREQ] Fix coding style issues in cpufreq.
Clean up cpufreq subsystem to fix coding style issues and to improve the readability. Signed-off-by: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:

committed by
Dave Jones

parent
95625b8f19
commit
e08f5f5bb5
@@ -29,7 +29,8 @@
|
||||
#include <linux/completion.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, "cpufreq-core", msg)
|
||||
#define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, \
|
||||
"cpufreq-core", msg)
|
||||
|
||||
/**
|
||||
* The "cpufreq driver" - the arch- or hardware-dependent low
|
||||
@@ -41,7 +42,8 @@ static struct cpufreq_policy *cpufreq_cpu_data[NR_CPUS];
|
||||
static DEFINE_SPINLOCK(cpufreq_driver_lock);
|
||||
|
||||
/* internal prototypes */
|
||||
static int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event);
|
||||
static int __cpufreq_governor(struct cpufreq_policy *policy,
|
||||
unsigned int event);
|
||||
static void handle_update(void *data);
|
||||
|
||||
/**
|
||||
@@ -151,7 +153,8 @@ static void cpufreq_debug_disable_ratelimit(void)
|
||||
spin_unlock_irqrestore(&disable_ratelimit_lock, flags);
|
||||
}
|
||||
|
||||
void cpufreq_debug_printk(unsigned int type, const char *prefix, const char *fmt, ...)
|
||||
void cpufreq_debug_printk(unsigned int type, const char *prefix,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
char s[256];
|
||||
va_list args;
|
||||
@@ -161,7 +164,8 @@ void cpufreq_debug_printk(unsigned int type, const char *prefix, const char *fmt
|
||||
WARN_ON(!prefix);
|
||||
if (type & debug) {
|
||||
spin_lock_irqsave(&disable_ratelimit_lock, flags);
|
||||
if (!disable_ratelimit && debug_ratelimit && !printk_ratelimit()) {
|
||||
if (!disable_ratelimit && debug_ratelimit
|
||||
&& !printk_ratelimit()) {
|
||||
spin_unlock_irqrestore(&disable_ratelimit_lock, flags);
|
||||
return;
|
||||
}
|
||||
@@ -182,10 +186,12 @@ EXPORT_SYMBOL(cpufreq_debug_printk);
|
||||
|
||||
|
||||
module_param(debug, uint, 0644);
|
||||
MODULE_PARM_DESC(debug, "CPUfreq debugging: add 1 to debug core, 2 to debug drivers, and 4 to debug governors.");
|
||||
MODULE_PARM_DESC(debug, "CPUfreq debugging: add 1 to debug core,"
|
||||
" 2 to debug drivers, and 4 to debug governors.");
|
||||
|
||||
module_param(debug_ratelimit, uint, 0644);
|
||||
MODULE_PARM_DESC(debug_ratelimit, "CPUfreq debugging: set to 0 to disable ratelimiting.");
|
||||
MODULE_PARM_DESC(debug_ratelimit, "CPUfreq debugging:"
|
||||
" set to 0 to disable ratelimiting.");
|
||||
|
||||
#else /* !CONFIG_CPU_FREQ_DEBUG */
|
||||
|
||||
@@ -219,17 +225,23 @@ static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
|
||||
if (!l_p_j_ref_freq) {
|
||||
l_p_j_ref = loops_per_jiffy;
|
||||
l_p_j_ref_freq = ci->old;
|
||||
dprintk("saving %lu as reference value for loops_per_jiffy; freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq);
|
||||
dprintk("saving %lu as reference value for loops_per_jiffy;"
|
||||
"freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq);
|
||||
}
|
||||
if ((val == CPUFREQ_PRECHANGE && ci->old < ci->new) ||
|
||||
(val == CPUFREQ_POSTCHANGE && ci->old > ci->new) ||
|
||||
(val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) {
|
||||
loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, ci->new);
|
||||
dprintk("scaling loops_per_jiffy to %lu for frequency %u kHz\n", loops_per_jiffy, ci->new);
|
||||
loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq,
|
||||
ci->new);
|
||||
dprintk("scaling loops_per_jiffy to %lu"
|
||||
"for frequency %u kHz\n", loops_per_jiffy, ci->new);
|
||||
}
|
||||
}
|
||||
#else
|
||||
static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) { return; }
|
||||
static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -316,7 +328,8 @@ static int cpufreq_parse_governor (char *str_governor, unsigned int *policy,
|
||||
if (!strnicmp(str_governor, "performance", CPUFREQ_NAME_LEN)) {
|
||||
*policy = CPUFREQ_POLICY_PERFORMANCE;
|
||||
err = 0;
|
||||
} else if (!strnicmp(str_governor, "powersave", CPUFREQ_NAME_LEN)) {
|
||||
} else if (!strnicmp(str_governor, "powersave",
|
||||
CPUFREQ_NAME_LEN)) {
|
||||
*policy = CPUFREQ_POLICY_POWERSAVE;
|
||||
err = 0;
|
||||
}
|
||||
@@ -328,7 +341,8 @@ static int cpufreq_parse_governor (char *str_governor, unsigned int *policy,
|
||||
t = __find_governor(str_governor);
|
||||
|
||||
if (t == NULL) {
|
||||
char *name = kasprintf(GFP_KERNEL, "cpufreq_%s", str_governor);
|
||||
char *name = kasprintf(GFP_KERNEL, "cpufreq_%s",
|
||||
str_governor);
|
||||
|
||||
if (name) {
|
||||
int ret;
|
||||
@@ -361,7 +375,8 @@ extern struct sysdev_class cpu_sysdev_class;
|
||||
|
||||
|
||||
/**
|
||||
* cpufreq_per_cpu_attr_read() / show_##file_name() - print out cpufreq information
|
||||
* cpufreq_per_cpu_attr_read() / show_##file_name() -
|
||||
* print out cpufreq information
|
||||
*
|
||||
* Write out information from cpufreq_driver->policy[cpu]; object must be
|
||||
* "unsigned int".
|
||||
@@ -380,7 +395,8 @@ show_one(scaling_min_freq, min);
|
||||
show_one(scaling_max_freq, max);
|
||||
show_one(scaling_cur_freq, cur);
|
||||
|
||||
static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_policy *policy);
|
||||
static int __cpufreq_set_policy(struct cpufreq_policy *data,
|
||||
struct cpufreq_policy *policy);
|
||||
|
||||
/**
|
||||
* cpufreq_per_cpu_attr_write() / store_##file_name() - sysfs write access
|
||||
@@ -416,7 +432,8 @@ store_one(scaling_max_freq,max);
|
||||
/**
|
||||
* show_cpuinfo_cur_freq - current CPU frequency as detected by hardware
|
||||
*/
|
||||
static ssize_t show_cpuinfo_cur_freq (struct cpufreq_policy * policy, char *buf)
|
||||
static ssize_t show_cpuinfo_cur_freq (struct cpufreq_policy * policy,
|
||||
char *buf)
|
||||
{
|
||||
unsigned int cur_freq = cpufreq_get(policy->cpu);
|
||||
if (!cur_freq)
|
||||
@@ -428,7 +445,8 @@ static ssize_t show_cpuinfo_cur_freq (struct cpufreq_policy * policy, char *buf)
|
||||
/**
|
||||
* show_scaling_governor - show the current policy for the specified CPU
|
||||
*/
|
||||
static ssize_t show_scaling_governor (struct cpufreq_policy * policy, char *buf)
|
||||
static ssize_t show_scaling_governor (struct cpufreq_policy * policy,
|
||||
char *buf)
|
||||
{
|
||||
if(policy->policy == CPUFREQ_POLICY_POWERSAVE)
|
||||
return sprintf(buf, "powersave\n");
|
||||
@@ -458,7 +476,8 @@ static ssize_t store_scaling_governor (struct cpufreq_policy * policy,
|
||||
if (ret != 1)
|
||||
return -EINVAL;
|
||||
|
||||
if (cpufreq_parse_governor(str_governor, &new_policy.policy, &new_policy.governor))
|
||||
if (cpufreq_parse_governor(str_governor, &new_policy.policy,
|
||||
&new_policy.governor))
|
||||
return -EINVAL;
|
||||
|
||||
lock_cpu_hotplug();
|
||||
@@ -474,7 +493,10 @@ static ssize_t store_scaling_governor (struct cpufreq_policy * policy,
|
||||
|
||||
unlock_cpu_hotplug();
|
||||
|
||||
return ret ? ret : count;
|
||||
if (ret)
|
||||
return ret;
|
||||
else
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -488,7 +510,7 @@ static ssize_t show_scaling_driver (struct cpufreq_policy * policy, char *buf)
|
||||
/**
|
||||
* show_scaling_available_governors - show the available CPUfreq governors
|
||||
*/
|
||||
static ssize_t show_scaling_available_governors (struct cpufreq_policy * policy,
|
||||
static ssize_t show_scaling_available_governors (struct cpufreq_policy *policy,
|
||||
char *buf)
|
||||
{
|
||||
ssize_t i = 0;
|
||||
@@ -574,7 +596,11 @@ static ssize_t show(struct kobject * kobj, struct attribute * attr ,char * buf)
|
||||
policy = cpufreq_cpu_get(policy->cpu);
|
||||
if (!policy)
|
||||
return -EINVAL;
|
||||
ret = fattr->show ? fattr->show(policy,buf) : -EIO;
|
||||
if (fattr->show)
|
||||
ret = fattr->show(policy, buf);
|
||||
else
|
||||
ret = -EIO;
|
||||
|
||||
cpufreq_cpu_put(policy);
|
||||
return ret;
|
||||
}
|
||||
@@ -588,7 +614,11 @@ static ssize_t store(struct kobject * kobj, struct attribute * attr,
|
||||
policy = cpufreq_cpu_get(policy->cpu);
|
||||
if (!policy)
|
||||
return -EINVAL;
|
||||
ret = fattr->store ? fattr->store(policy,buf,count) : -EIO;
|
||||
if (fattr->store)
|
||||
ret = fattr->store(policy, buf, count);
|
||||
else
|
||||
ret = -EIO;
|
||||
|
||||
cpufreq_cpu_put(policy);
|
||||
return ret;
|
||||
}
|
||||
@@ -911,7 +941,8 @@ static void handle_update(void *data)
|
||||
* We adjust to current frequency first, and need to clean up later. So either call
|
||||
* to cpufreq_update_policy() or schedule handle_update()).
|
||||
*/
|
||||
static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, unsigned int new_freq)
|
||||
static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq,
|
||||
unsigned int new_freq)
|
||||
{
|
||||
struct cpufreq_freqs freqs;
|
||||
|
||||
@@ -936,16 +967,16 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, unsigne
|
||||
unsigned int cpufreq_quick_get(unsigned int cpu)
|
||||
{
|
||||
struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
|
||||
unsigned int ret = 0;
|
||||
unsigned int ret_freq = 0;
|
||||
|
||||
if (policy) {
|
||||
mutex_lock(&policy->lock);
|
||||
ret = policy->cur;
|
||||
ret_freq = policy->cur;
|
||||
mutex_unlock(&policy->lock);
|
||||
cpufreq_cpu_put(policy);
|
||||
}
|
||||
|
||||
return (ret);
|
||||
return (ret_freq);
|
||||
}
|
||||
EXPORT_SYMBOL(cpufreq_quick_get);
|
||||
|
||||
@@ -959,7 +990,7 @@ EXPORT_SYMBOL(cpufreq_quick_get);
|
||||
unsigned int cpufreq_get(unsigned int cpu)
|
||||
{
|
||||
struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
|
||||
unsigned int ret = 0;
|
||||
unsigned int ret_freq = 0;
|
||||
|
||||
if (!policy)
|
||||
return 0;
|
||||
@@ -969,12 +1000,14 @@ unsigned int cpufreq_get(unsigned int cpu)
|
||||
|
||||
mutex_lock(&policy->lock);
|
||||
|
||||
ret = cpufreq_driver->get(cpu);
|
||||
ret_freq = cpufreq_driver->get(cpu);
|
||||
|
||||
if (ret && policy->cur && !(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) {
|
||||
/* verify no discrepancy between actual and saved value exists */
|
||||
if (unlikely(ret != policy->cur)) {
|
||||
cpufreq_out_of_sync(cpu, policy->cur, ret);
|
||||
if (ret_freq && policy->cur &&
|
||||
!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) {
|
||||
/* verify no discrepancy between actual and
|
||||
saved value exists */
|
||||
if (unlikely(ret_freq != policy->cur)) {
|
||||
cpufreq_out_of_sync(cpu, policy->cur, ret_freq);
|
||||
schedule_work(&policy->update);
|
||||
}
|
||||
}
|
||||
@@ -984,7 +1017,7 @@ unsigned int cpufreq_get(unsigned int cpu)
|
||||
out:
|
||||
cpufreq_cpu_put(policy);
|
||||
|
||||
return (ret);
|
||||
return (ret_freq);
|
||||
}
|
||||
EXPORT_SYMBOL(cpufreq_get);
|
||||
|
||||
@@ -996,7 +1029,7 @@ EXPORT_SYMBOL(cpufreq_get);
|
||||
static int cpufreq_suspend(struct sys_device * sysdev, pm_message_t pmsg)
|
||||
{
|
||||
int cpu = sysdev->id;
|
||||
unsigned int ret = 0;
|
||||
int ret = 0;
|
||||
unsigned int cur_freq = 0;
|
||||
struct cpufreq_policy *cpu_policy;
|
||||
|
||||
@@ -1078,7 +1111,7 @@ out:
|
||||
static int cpufreq_resume(struct sys_device * sysdev)
|
||||
{
|
||||
int cpu = sysdev->id;
|
||||
unsigned int ret = 0;
|
||||
int ret = 0;
|
||||
struct cpufreq_policy *cpu_policy;
|
||||
|
||||
dprintk("resuming cpu %u\n", cpu);
|
||||
@@ -1299,17 +1332,20 @@ EXPORT_SYMBOL_GPL(cpufreq_driver_getavg);
|
||||
* when "event" is CPUFREQ_GOV_LIMITS
|
||||
*/
|
||||
|
||||
static int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event)
|
||||
static int __cpufreq_governor(struct cpufreq_policy *policy,
|
||||
unsigned int event)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!try_module_get(policy->governor->owner))
|
||||
return -EINVAL;
|
||||
|
||||
dprintk("__cpufreq_governor for CPU %u, event %u\n", policy->cpu, event);
|
||||
dprintk("__cpufreq_governor for CPU %u, event %u\n",
|
||||
policy->cpu, event);
|
||||
ret = policy->governor->governor(policy, event);
|
||||
|
||||
/* we keep one module reference alive for each CPU governed by this CPU */
|
||||
/* we keep one module reference alive for
|
||||
each CPU governed by this CPU */
|
||||
if ((event != CPUFREQ_GOV_START) || ret)
|
||||
module_put(policy->governor->owner);
|
||||
if ((event == CPUFREQ_GOV_STOP) && !ret)
|
||||
@@ -1385,9 +1421,12 @@ EXPORT_SYMBOL(cpufreq_get_policy);
|
||||
|
||||
|
||||
/*
|
||||
* data : current policy.
|
||||
* policy : policy to be set.
|
||||
* Locking: Must be called with the lock_cpu_hotplug() lock held
|
||||
*/
|
||||
static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_policy *policy)
|
||||
static int __cpufreq_set_policy(struct cpufreq_policy *data,
|
||||
struct cpufreq_policy *policy)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
@@ -1395,7 +1434,8 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_poli
|
||||
dprintk("setting new policy for CPU %u: %u - %u kHz\n", policy->cpu,
|
||||
policy->min, policy->max);
|
||||
|
||||
memcpy(&policy->cpuinfo, &data->cpuinfo, sizeof(struct cpufreq_cpuinfo));
|
||||
memcpy(&policy->cpuinfo, &data->cpuinfo,
|
||||
sizeof(struct cpufreq_cpuinfo));
|
||||
|
||||
if (policy->min > data->min && policy->min > policy->max) {
|
||||
ret = -EINVAL;
|
||||
@@ -1428,7 +1468,8 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_poli
|
||||
data->min = policy->min;
|
||||
data->max = policy->max;
|
||||
|
||||
dprintk("new min and max freqs are %u - %u kHz\n", data->min, data->max);
|
||||
dprintk("new min and max freqs are %u - %u kHz\n",
|
||||
data->min, data->max);
|
||||
|
||||
if (cpufreq_driver->setpolicy) {
|
||||
data->policy = policy->policy;
|
||||
@@ -1449,10 +1490,12 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_poli
|
||||
data->governor = policy->governor;
|
||||
if (__cpufreq_governor(data, CPUFREQ_GOV_START)) {
|
||||
/* new governor failed, so re-start old one */
|
||||
dprintk("starting governor %s failed\n", data->governor->name);
|
||||
dprintk("starting governor %s failed\n",
|
||||
data->governor->name);
|
||||
if (old_gov) {
|
||||
data->governor = old_gov;
|
||||
__cpufreq_governor(data, CPUFREQ_GOV_START);
|
||||
__cpufreq_governor(data,
|
||||
CPUFREQ_GOV_START);
|
||||
}
|
||||
ret = -EINVAL;
|
||||
goto error_out;
|
||||
@@ -1542,7 +1585,8 @@ int cpufreq_update_policy(unsigned int cpu)
|
||||
data->cur = policy.cur;
|
||||
} else {
|
||||
if (data->cur != policy.cur)
|
||||
cpufreq_out_of_sync(cpu, data->cur, policy.cur);
|
||||
cpufreq_out_of_sync(cpu, data->cur,
|
||||
policy.cur);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1646,8 +1690,10 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
|
||||
|
||||
/* if all ->init() calls failed, unregister */
|
||||
if (ret) {
|
||||
dprintk("no CPU initialized for driver %s\n", driver_data->name);
|
||||
sysdev_driver_unregister(&cpu_sysdev_class, &cpufreq_sysdev_driver);
|
||||
dprintk("no CPU initialized for driver %s\n",
|
||||
driver_data->name);
|
||||
sysdev_driver_unregister(&cpu_sysdev_class,
|
||||
&cpufreq_sysdev_driver);
|
||||
|
||||
spin_lock_irqsave(&cpufreq_driver_lock, flags);
|
||||
cpufreq_driver = NULL;
|
||||
|
Reference in New Issue
Block a user