From patchwork Fri Aug 7 03:41:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 6964931 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 597F6C05AC for ; Fri, 7 Aug 2015 03:41:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6EBA92066B for ; Fri, 7 Aug 2015 03:41:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7D05C206DF for ; Fri, 7 Aug 2015 03:41:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754656AbbHGDle (ORCPT ); Thu, 6 Aug 2015 23:41:34 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:36739 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752098AbbHGDld (ORCPT ); Thu, 6 Aug 2015 23:41:33 -0400 Received: by pacrr5 with SMTP id rr5so42266074pac.3 for ; Thu, 06 Aug 2015 20:41:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=UAh9w6wGyBct0hngsvaTn9yfxQVRal7A2Tr6jo+GSpA=; b=m9lYaRz6qmJLFBIK49bCgPwTZHHO48y04BXjSXWYhDbhHDGgZrKd21ZpSy+Eu6ycIO r3QX2w9sN8c1q0iHS1wyf015Y39EY5zK2dh5wXjfCmqS03GO9U+UIQ+OkGUY0UrptLlG bJMT5bzdp25OhRUAMkdk89C9UlE7YE8MoH0N/3PFhW0tVdpbs9cjTBzCeIIWCNPTTNXl awyU57kgfcYPRbisihtt6smCXXevrWNbC3EXcVk/SOJKuYYAk9yUOSUjY8ozs65gOu3F k9N5oSPrHOY42i3mqmgHzwOUOOHtOkmpqjtHDNvU1cr2c8kLI8/o/ADkV1JS5W6TCspB IX2g== X-Gm-Message-State: ALoCoQnjod43NiMOr/Yl+nBUrmlMuvIbILteYeFfWDK+hEDDo5nv1po8xaYOamaq3h5JEQ9OOMr2 X-Received: by 10.68.233.132 with SMTP id tw4mr10100251pbc.166.1438918892860; Thu, 06 Aug 2015 20:41:32 -0700 (PDT) Received: from localhost ([122.171.186.190]) by smtp.gmail.com with ESMTPSA id wp5sm8224742pab.22.2015.08.06.20.41.31 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 06 Aug 2015 20:41:32 -0700 (PDT) Date: Fri, 7 Aug 2015 09:11:28 +0530 From: Viresh Kumar To: Bartlomiej Zolnierkiewicz 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 Subject: Re: [PATCH v4 1/6] cpufreq: make scaling_boost_freqs sysfs attr available when boost is enabled Message-ID: <20150807034128.GE6325@linux> References: <1438868514-8814-1-git-send-email-b.zolnierkie@samsung.com> <1438868514-8814-2-git-send-email-b.zolnierkie@samsung.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1438868514-8814-2-git-send-email-b.zolnierkie@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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. 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 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)