[PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr available when boost is enabled

Viresh Kumar viresh.kumar at linaro.org
Fri Aug 7 04:37:39 PDT 2015


On 07-08-15, 13:12, Bartlomiej Zolnierkiewicz wrote:
> >From 993ebb6fc632ec7b61654c9610c90ff4dca4be34 Mon Sep 17 00:00:00 2001
> From: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
> Date: Fri, 7 Aug 2015 13:07:51 +0200
> Subject: [PATCH] cpufreq-dt: make scaling_boost_freqs sysfs attr available
>  when boost is enabled
> 
> Make scaling_boost_freqs sysfs attribute is available when
> cpufreq-dt driver is used and boost support is enabled.
> 
> Cc: Thomas Abraham <thomas.ab at samsung.com>
> Cc: Javier Martinez Canillas <javier at osg.samsung.com>
> Cc: Krzysztof Kozlowski <k.kozlowski at samsung.com>
> Suggested-by: Viresh Kumar <viresh.kumar at linaro.org>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
> ---
>  drivers/cpufreq/cpufreq-dt.c | 11 ++++++++++-
>  include/linux/cpufreq.h      |  1 +
>  2 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c
> index b9259ab..c6a3b98 100644
> --- a/drivers/cpufreq/cpufreq-dt.c
> +++ b/drivers/cpufreq/cpufreq-dt.c
> @@ -36,6 +36,12 @@ struct private_data {
>  	unsigned int voltage_tolerance; /* in percentage */
>  };
>  
> +static struct freq_attr *cpufreq_dt_attr[] = {
> +	&cpufreq_freq_attr_scaling_available_freqs,
> +	NULL,   /* Extra space for boost-attr if required */
> +	NULL,
> +};
> +
>  static int set_target(struct cpufreq_policy *policy, unsigned int index)
>  {
>  	struct dev_pm_opp *opp;
> @@ -182,6 +188,8 @@ try_again:
>  	return ret;
>  }
>  
> +static struct cpufreq_driver dt_cpufreq_driver;
> +
>  static int cpufreq_init(struct cpufreq_policy *policy)
>  {
>  	struct cpufreq_frequency_table *freq_table;
> @@ -336,6 +344,7 @@ static int cpufreq_init(struct cpufreq_policy *policy)
>  		ret = cpufreq_enable_boost_support();
>  		if (ret)
>  			goto out_free_cpufreq_table;
> +		cpufreq_dt_attr[1] = &cpufreq_freq_attr_scaling_boost_freqs;
>  	}
>  
>  	policy->cpuinfo.transition_latency = transition_latency;
> @@ -411,7 +420,7 @@ static struct cpufreq_driver dt_cpufreq_driver = {
>  	.exit = cpufreq_exit,
>  	.ready = cpufreq_ready,
>  	.name = "cpufreq-dt",
> -	.attr = cpufreq_generic_attr,
> +	.attr = cpufreq_dt_attr,
>  };
>  
>  static int dt_cpufreq_probe(struct platform_device *pdev)
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index 95f0186..657542d 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -609,6 +609,7 @@ struct cpufreq_frequency_table *cpufreq_frequency_get_table(unsigned int cpu);
>  
>  /* the following are really really optional */
>  extern struct freq_attr cpufreq_freq_attr_scaling_available_freqs;
> +extern struct freq_attr cpufreq_freq_attr_scaling_boost_freqs;
>  extern struct freq_attr *cpufreq_generic_attr[];
>  int cpufreq_table_validate_and_show(struct cpufreq_policy *policy,
>  				      struct cpufreq_frequency_table *table);

Acked-by: Viresh Kumar <viresh.kumar at linaro.org>

-- 
viresh



More information about the linux-arm-kernel mailing list