cpufreq: powernv: Remove flag use-case of policy->driver_data
commit 1b0289848d
("cpufreq: powernv: Add sysfs attributes to show
throttle stats") used policy->driver_data as a flag for one-time creation
of throttle sysfs files. Instead of this use 'kernfs_find_and_get()' to
check if the attribute already exists. This is required as
policy->driver_data is used for other purposes in the later patch.
Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
Signed-off-by: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
6de0dc4b53
commit
2920e9ce8f
@ -455,13 +455,15 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
|
|||||||
static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
||||||
{
|
{
|
||||||
int base, i;
|
int base, i;
|
||||||
|
struct kernfs_node *kn;
|
||||||
|
|
||||||
base = cpu_first_thread_sibling(policy->cpu);
|
base = cpu_first_thread_sibling(policy->cpu);
|
||||||
|
|
||||||
for (i = 0; i < threads_per_core; i++)
|
for (i = 0; i < threads_per_core; i++)
|
||||||
cpumask_set_cpu(base + i, policy->cpus);
|
cpumask_set_cpu(base + i, policy->cpus);
|
||||||
|
|
||||||
if (!policy->driver_data) {
|
kn = kernfs_find_and_get(policy->kobj.sd, throttle_attr_grp.name);
|
||||||
|
if (!kn) {
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = sysfs_create_group(&policy->kobj, &throttle_attr_grp);
|
ret = sysfs_create_group(&policy->kobj, &throttle_attr_grp);
|
||||||
@ -470,11 +472,8 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
|||||||
policy->cpu);
|
policy->cpu);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
/*
|
} else {
|
||||||
* policy->driver_data is used as a flag for one-time
|
kernfs_put(kn);
|
||||||
* creation of throttle sysfs files.
|
|
||||||
*/
|
|
||||||
policy->driver_data = policy;
|
|
||||||
}
|
}
|
||||||
return cpufreq_table_validate_and_show(policy, powernv_freqs);
|
return cpufreq_table_validate_and_show(policy, powernv_freqs);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user