From patchwork Fri Aug 7 11:50:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartlomiej Zolnierkiewicz X-Patchwork-Id: 6968391 Return-Path: X-Original-To: patchwork-linux-samsung-soc@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 2341C9F358 for ; Fri, 7 Aug 2015 11:51:51 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3B4F02060C for ; Fri, 7 Aug 2015 11:51:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3D85C205E8 for ; Fri, 7 Aug 2015 11:51:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752790AbbHGLvg (ORCPT ); Fri, 7 Aug 2015 07:51:36 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:53243 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752292AbbHGLve (ORCPT ); Fri, 7 Aug 2015 07:51:34 -0400 Received: from epcpsbgm1new.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NSP00ZLWNLVJU50@mailout1.samsung.com>; Fri, 07 Aug 2015 20:51:33 +0900 (KST) X-AuditID: cbfee61a-f79a06d000005c6f-c8-55c49bc40993 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1new.samsung.com (EPCPMTA) with SMTP id 9A.1D.23663.4CB94C55; Fri, 7 Aug 2015 20:51:33 +0900 (KST) Received: from amdc1976.localnet ([106.120.53.102]) by mmp2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0NSP00EO2NLV4D90@mmp2.samsung.com>; Fri, 07 Aug 2015 20:51:32 +0900 (KST) From: Bartlomiej Zolnierkiewicz To: "Rafael J. Wysocki" Cc: Viresh Kumar , 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: [PATCH] cpufreq-dt: make scaling_boost_freqs sysfs attr available when boost is enabled Date: Fri, 07 Aug 2015 13:50:30 +0200 Message-id: <4591050.xDpgbpsIAB@amdc1976> User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset=us-ascii X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsVy+t9jQd2js4+EGux5ymJx/ctzVov/j16z Wlz7PYPN4s3bNUwWr18YWvQuuMpm0f/4NbPF18MrGC3ePNzMaLHp8TVWi48991gtLu+aw2bx ufcIo8WM8/uYLNZtvMVucfGUq8WZ05dYLQ6/aWe16FjGaNG2+gOrxapdfxgtNn71cBDzeH+j ld3j7+xWZo+ds+6ye2xa1cnmcefaHjaPzUvqPf4dY/fY0g8U3nK1ncWjb8sqRo/t1+Yxe3ze JBfAE8Vlk5Kak1mWWqRvl8CV8XPmG9aCDSIV2+YdY25gnCXYxcjJISFgInHmUT8ThC0mceHe erYuRi4OIYFZjBIH/19ihHC+Mkq8WzaZFaSKTcBKYmL7KkYQW0RAW2JuzylmkCJmgWNsEtd+ L2IHSQgLJEksOHGXBcRmEVCVeLi7D6iBg4NXQFPi8yZXkLCogJfE918NzCA2r4CgxI/J98DK mQXkJfbtn8oKYWtJrN95nGkCI98sJGWzkJTNQlK2gJF5FaNEakFyQXFSeq5hXmq5XnFibnFp Xrpecn7uJkZwND6T2sF4cJf7IUYBDkYlHt7Ef4dDhVgTy4orcw8xSnAwK4nwNk49EirEm5JY WZValB9fVJqTWnyIUZqDRUmcV3bD5lAhgfTEktTs1NSC1CKYLBMHp1QD4+KT4h1/prl6b7+Y cO9R4vn+/bl8v+7cfp1idWnn6RWTs5QPLVz00O5o0B+5l2FvvpScnqseGRwYGLS2YZWl4aKN Bw6aBe489vbDxGVWc3s+ruc6JPfaw/JN3E3Zg5MuJDvM6tep27rPXuy8scJDQW7ZHWdXHbnW rLn9iMRCBeO5awXurFml75yoxFKckWioxVxUnAgA/CiLY8ICAAA= 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 Make scaling_boost_freqs sysfs attribute is available when cpufreq-dt driver is used and boost support is enabled. Cc: Thomas Abraham Cc: Javier Martinez Canillas Cc: Krzysztof Kozlowski Suggested-by: Viresh Kumar Acked-by: Viresh Kumar Signed-off-by: Bartlomiej Zolnierkiewicz --- Rafael, please apply for v4.3. Thanks! 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);