On 6 June 2013 12:37, Lukasz Majewski l.majewski@samsung.com wrote:
Subject: cpufreq: Define cpufreq_set_drv_attr_files() to add per CPU sysfs attributes
Its not per-cpu. We just add it for policy->cpu and other routines actually create links.
The cpufreq_set_drv_attr_files() function creates sysfs file entry for each available CPU. With it in place it is possible to add different set of attributes without code duplication.
Not for each available cpu but are linked to a policy->kobj and so shows up on each policy->cpus.
Signed-off-by: Lukasz Majewski l.majewski@samsung.com Signed-off-by: Myungjoo Ham myungjoo.ham@samsung.com
drivers/cpufreq/cpufreq.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 1b8a48e..ca74e27 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -730,12 +730,23 @@ static int cpufreq_add_dev_symlink(unsigned int cpu, return ret; }
+static int cpufreq_set_drv_attr_files(struct cpufreq_policy *policy,
struct freq_attr **drv_attr)
+{
while ((drv_attr) && (*drv_attr)) {
if (sysfs_create_file(&policy->kobj, &((*drv_attr)->attr)))
return 1;
You are changing the semantics here. We used to return error value from sysfs_create_file() and you are returning 1.
drv_attr++;
If drv_attr was valid initially, then drv_attr++ can't make it NULL. So, we don't need to check validity of drv_attr for every loop.