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: 6964961 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 3B7A69F373 for ; Fri, 7 Aug 2015 03:44:56 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3BE1F206E0 for ; Fri, 7 Aug 2015 03:44:55 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 53CEB206DC for ; Fri, 7 Aug 2015 03:44:54 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZNYXe-0005pA-BP; Fri, 07 Aug 2015 03:41:58 +0000 Received: from mail-pa0-f53.google.com ([209.85.220.53]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZNYXa-0005l3-RG for linux-arm-kernel@lists.infradead.org; Fri, 07 Aug 2015 03:41:55 +0000 Received: by pawu10 with SMTP id u10so78041603paw.1 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=deN5gST3g9JKuHAoX/M0qxB2RtTeJl9afYidNK24nnRE47Nb43drr5q0skqErpMBxI xRBZ6DBcd3BntLxa8ZHwWRFStIdge22y3gmLA1xIHMIu0y2IuyPKPf6OjNu1rELeQfw2 +QmUgV1xnqJMzIkUrqi+aZLf/XJhoyXJKcxbZp7qUSOZyfiE2kdgPquf7HK1evBwMyaP HLKawiPM2lf/po0YuL52dnIxXpnNA63PXjof91Q7K3riFb+OEVM0xc65aghNOQhwUs7d ALFg6uE0V/cTuejnoBbloLM0ldoPTn/A7nWB1+7cZebpKz1eporfAZtXe9aDszXr36RI 9C+Q== X-Gm-Message-State: ALoCoQk2CvY5K6qKU2g3CK3+MhlyCMmZfUmI1dHlyysPjFcpQZ3SXTSUZQeD748Zu0T/GcNF15Dn 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 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) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150806_204154_923790_EBBE612E X-CRM114-Status: GOOD ( 24.59 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, Javier Martinez Canillas , Krzysztof Kozlowski , Kukjin Kim , Heiko Stuebner , Kevin Hilman , Tobias Jakobi , Anand Moon , Michael Turquette , linux-pm@vger.kernel.org, Tomasz Figa , linux-kernel@vger.kernel.org, Chanwoo Choi , Thomas Abraham , Kukjin Kim , Sylwester Nawrocki , Lukasz Majewski , Javier Martinez Canillas , linux-clk@vger.kernel.org, linux-samsung-soc@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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)