Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752221AbbHGKfr (ORCPT ); Fri, 7 Aug 2015 06:35:47 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:55564 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751667AbbHGKfn (ORCPT ); Fri, 7 Aug 2015 06:35:43 -0400 X-AuditID: cbfee61b-f79706d000001b96-b0-55c489edee1c From: Bartlomiej Zolnierkiewicz To: Viresh Kumar Cc: Thomas Abraham , Sylwester Nawrocki , Michael Turquette , Kukjin Kim , Kukjin Kim , Krzysztof Kozlowski , Tomasz Figa , Lukasz Majewski , Heiko Stuebner , Chanwoo Choi , Kevin Hilman , Javier Martinez Canillas , Tobias Jakobi , Anand Moon , linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas , "Rafael J. Wysocki" Subject: Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr available when boost is enabled Date: Fri, 07 Aug 2015 12:34:23 +0200 Message-id: <5184469.cOpIkgzX4h@amdc1976> User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) In-reply-to: <20150807034128.GE6325@linux> References: <1438868514-8814-1-git-send-email-b.zolnierkie@samsung.com> <1438868514-8814-2-git-send-email-b.zolnierkie@samsung.com> <20150807034128.GE6325@linux> MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset=us-ascii X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOIsWRmVeSWpSXmKPExsVy+t9jQd23nUdCDb5eFrC4/uU5q8X/R69Z La79nsFm8ebtGiaL1y8MLXoXXGWz6H/8mtni6+EVjBZvHm5mtNj0+Bqrxceee6wWl3fNYbP4 3HuE0WLG+X1MFus23mK3uHjK1eLM6UusFofftLNadCxjtGhb/YHVYtWuP4wWG796OIh5vL/R yu7xd3Yrs8fOWXfZPTat6mTzuHNtD5vH5iX1Hv+OsXts6QcKb7nazuLRt2UVo8f2a/OYPT5v kgvgieKySUnNySxLLdK3S+DKmL34LEvBVpWKQ/++szQwXpPtYuTkkBAwkdjTNZsJwhaTuHBv PVsXIxeHkMAsRolD/2YyQThfGSX+z3vDDFLFJmAlMbF9FWMXIweHiICWxMubqSBhZoHjbBJz 7ySC2MICWRIHn81iAbFZBFQltqzsYwOxeQU0JXqPbgazRQW8JL7/agAbyQk0ZsHyZqjFSxkl JnR/YoZoEJT4MfkeC8QCeYl9+6eyQthaEut3HmeawAh0JkLZLCRls5CULWBkXsUokVqQXFCc lJ5rlJdarlecmFtcmpeul5yfu4kRHL3PpHcwHt7lfohRgINRiYc34d/hUCHWxLLiytxDjBIc zEoivGerj4QK8aYkVlalFuXHF5XmpBYfYpTmYFES59U32RQqJJCeWJKanZpakFoEk2Xi4JRq YJx+1qv0ZVSzsVN4TuW2J9+cbwYwLtvSMk20z3TWtdpvr/NK1mdKfK+WmLjDdmsv+8MHu3bt PJD37N+FL7umf3W9qGatIH+lX2j+5tBJk77UfZ8T90xgwV2/7Jmpftf9nPIrV3/q9Hs/rbD3 R4aOcV/NhmouF6Ozgjq3ZjeuY5/dfP0Ev3h0lqMSS3FGoqEWc1FxIgDNCiQ+2gIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4783 Lines: 130 Hi, On Friday, August 07, 2015 09:11:28 AM Viresh Kumar wrote: > Hi, > > I would suggest you sending such patches as reply to the earlier > threads only, instead of a new chain. This will save your time. Please explain it more. This patch needs to be first for cpufreq-dt switch to be complete. scaling_boost_freqs is available currently for exynos-cpufreq users when boost is enabled and ideally we would like it to be available immediately after the switch to cpufreq-dt. > For example, you will need to resend other patches unnecessarily if I > NAK this patch :) > > On 06-08-15, 15:41, Bartlomiej Zolnierkiewicz wrote: > > 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 > > Cc: Thomas Abraham > > Cc: Javier Martinez Canillas > > Cc: Krzysztof Kozlowski > > Signed-off-by: Bartlomiej Zolnierkiewicz > > --- > > drivers/cpufreq/cpufreq-dt.c | 3 +++ > > drivers/cpufreq/freq_table.c | 7 +++++++ > > include/linux/cpufreq.h | 1 + > > 3 files changed, 11 insertions(+) > > > > diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c > > index b9259ab..7b091c0 100644 > > --- a/drivers/cpufreq/cpufreq-dt.c > > +++ b/drivers/cpufreq/cpufreq-dt.c > > @@ -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; > > diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c > > index a8f1daf..5a00a09 100644 > > --- a/drivers/cpufreq/freq_table.c > > +++ b/drivers/cpufreq/freq_table.c > > @@ -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); > > This isn't scalable. We can't create a new generic structure every time > a entry comes in. Rather we should leave the generic attr for boost entry is rather generic one so I imagine that other cpufreq drivers that add support for boost would also like to use it. Anyway since there are no such drivers currently I agree that making a new generic structure may be premature and I will re-do this patch according to your request. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics > cpufreq-dt and do something like this in the cpufreq-dt driver (And > that patch should rather go via cpufreq tree and not ARM SoC).. > > diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c > index a5b6a854661f..e229258ad791 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; > @@ -337,6 +343,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; > @@ -412,7 +419,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) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/