@@ -182,6 +182,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 +338,7 @@ static int cpufreq_init(struct cpufreq_policy *policy)
ret = cpufreq_enable_boost_support();
if (ret)
goto out_free_cpufreq_table;
+ dt_cpufreq_driver.attr = cpufreq_boost_enabled_generic_attr;
}
policy->cpuinfo.transition_latency = transition_latency;
@@ -300,6 +300,13 @@ struct freq_attr *cpufreq_generic_attr[] = {
};
EXPORT_SYMBOL_GPL(cpufreq_generic_attr);
+struct freq_attr *cpufreq_boost_enabled_generic_attr[] = {
+ &cpufreq_freq_attr_scaling_available_freqs,
+ &cpufreq_freq_attr_scaling_boost_freqs,
+ NULL,
+};
+EXPORT_SYMBOL_GPL(cpufreq_boost_enabled_generic_attr);
+
int cpufreq_table_validate_and_show(struct cpufreq_policy *policy,
struct cpufreq_frequency_table *table)
{
@@ -610,6 +610,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_generic_attr[];
+extern struct freq_attr *cpufreq_boost_enabled_generic_attr[];
int cpufreq_table_validate_and_show(struct cpufreq_policy *policy,
struct cpufreq_frequency_table *table);
Add cpufreq_boost_enabled_generic_attr table and use it in cpufreq-dt driver instead of cpufreq_generic_attr one when boost support is enabled. As a result scaling_boost_freqs sysfs attribute is available when cpufreq-dt driver is used and boost support is enabled. Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Thomas Abraham <thomas.ab@samsung.com> Cc: Javier Martinez Canillas <javier@osg.samsung.com> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- drivers/cpufreq/cpufreq-dt.c | 3 +++ drivers/cpufreq/freq_table.c | 7 +++++++ include/linux/cpufreq.h | 1 + 3 files changed, 11 insertions(+)