From patchwork Tue Nov 8 14:49:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101552 Delivered-To: patch@linaro.org Received: by 10.182.113.165 with SMTP id iz5csp1737610obb; Tue, 8 Nov 2016 06:50:37 -0800 (PST) X-Received: by 10.99.209.5 with SMTP id k5mr19123945pgg.13.1478616637676; Tue, 08 Nov 2016 06:50:37 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 71si37344027pfj.64.2016.11.08.06.50.37; Tue, 08 Nov 2016 06:50:37 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752551AbcKHOue (ORCPT + 27 others); Tue, 8 Nov 2016 09:50:34 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:56460 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751506AbcKHOu1 (ORCPT ); Tue, 8 Nov 2016 09:50:27 -0500 Received: from wuerfel.lan. ([78.43.20.153]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0LbItu-1cX6gy2fXO-00kzJ8; Tue, 08 Nov 2016 15:49:54 +0100 From: Arnd Bergmann To: Stephen Boyd Cc: Arnd Bergmann , Michael Turquette , Robert Jarzmik , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] clk: pxa mark dummy helper as 'inline' Date: Tue, 8 Nov 2016 15:49:30 +0100 Message-Id: <20161108144950.3472058-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:4i2Nt4WE6p4eT+0J6nEDOXW/JpMPJoRpUBzTFcXaRb5VnOsmgsl 2yMjBZ9EGd1yD1dljx9FzFv8XDPh91MeG9nVGgyOxssovdLOETM3W0fCX4vXCPmoWzIX1dx fnSQHDuX1w+sfzigzJ/weNOS9Mm1HMMZ2rLinI0ZhRVP4ie/Qt5zFD3F0S6S/o35PDPyHXf C7tcZjjVzS85hYq54QBHw== X-UI-Out-Filterresults: notjunk:1; V01:K0:tjxzq4NM7Pk=:8RsTIf1y87NtOYPobRWu6O eVEKe9ZSGkp2GgAoscWJX2EJNcWgC4zTNql+XzXwGQIKtbd9yVe1sVhLhRBkr4zmMt4S+Dkm9 RLRK0r8ST4JrIWkbHq67ky/PV8EH2h/Qsx+s7zSvzAoDAXs0oRgay6LDjwQmqPJtRtUJRnpmj BVzCLNXiNhKrGaI5BfjBiUm+T3MRCr1kfTVEE/AJ9IcWveOoVRhNpeFcNBcSDhwvzFDEJNKdw YZKEikoiVj5R3+rIYai0+AO7YuG6EzzS2U9+IXRwmz9Oo3PNIbpBrKhoSVc+ZUxg+Jgtcpe5h NzWE55Tx9hVQxg3jTfadHxZXz1BBdztnulNHg1iEZeqLv0xANxdS34jSDwiVjSTo0PyNoQ8aM V9i+/2z5Q7BlUPaWcl2aq2v5z9zPpx0bMVNjflSNUBhsxbfc2pU3ufbm4Agl8PPxImDT3iLck RF1XbjLMhDPOuLtWxhkx0LqW6p4FwuMoL0LnLc/0EzgGSGvJ8EXZiNwukse+nMwqa52/CE81i s1LNm7PYOko/kONUjM690fnF/qTnUmFkg876DXrhbScaqWyjcsi9gVZlpjERq7F4Ohya3QCiB V6eJxefHkfihbXwk7fli+Mk07/vryJibVBvMPElj+TnRcEgYJNyC6ten5BoOVjqGS3kLfPKOL xfzyYcsI/A5TjaGbeN6mduEkLUe6PGjWmTVOtmiWTP3g+xe3ZeKIYQ3fMM0rTqv1e51o= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The dummy_clk_set_parent function is marked as 'static' but is no longer referenced from the pxa25x clk driver after the last use of the RATE_RO_OPS() macro is gone from this file, causing a harmless build warning: In file included from drivers/clk/pxa/clk-pxa25x.c:24:0: drivers/clk/pxa/clk-pxa.h:146:12: error: 'dummy_clk_set_parent' defined but not used [-Werror=unused-function] This marks the functon as 'inline', which lets the compiler simply drop it when it gets referenced. Fixes: 9fe694295098 ("clk: pxa: transfer CPU clock setting from pxa2xx-cpufreq") Signed-off-by: Arnd Bergmann --- drivers/clk/pxa/clk-pxa.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.9.0 diff --git a/drivers/clk/pxa/clk-pxa.h b/drivers/clk/pxa/clk-pxa.h index f60a7bccae4e..58abfa816d53 100644 --- a/drivers/clk/pxa/clk-pxa.h +++ b/drivers/clk/pxa/clk-pxa.h @@ -143,7 +143,7 @@ struct pxa2xx_freq { unsigned int clkcfg; }; -static int dummy_clk_set_parent(struct clk_hw *hw, u8 index) +static inline int dummy_clk_set_parent(struct clk_hw *hw, u8 index) { return 0; } From patchwork Tue Nov 8 14:49:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101551 Delivered-To: patch@linaro.org Received: by 10.182.113.165 with SMTP id iz5csp1737860obb; Tue, 8 Nov 2016 06:51:06 -0800 (PST) X-Received: by 10.98.150.206 with SMTP id s75mr24392489pfk.155.1478616666523; Tue, 08 Nov 2016 06:51:06 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k197si37363660pga.230.2016.11.08.06.51.06; Tue, 08 Nov 2016 06:51:06 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752661AbcKHOu7 (ORCPT + 27 others); Tue, 8 Nov 2016 09:50:59 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:50989 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751668AbcKHOu1 (ORCPT ); Tue, 8 Nov 2016 09:50:27 -0500 Received: from wuerfel.lan. ([78.43.20.153]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0LpwXf-1ciyFM3uJr-00fl2h; Tue, 08 Nov 2016 15:50:08 +0100 From: Arnd Bergmann To: Stephen Boyd Cc: Arnd Bergmann , Michael Turquette , Robert Jarzmik , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] clk: pxa: fix pxa2xx_determine_rate return Date: Tue, 8 Nov 2016 15:49:31 +0100 Message-Id: <20161108144950.3472058-2-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20161108144950.3472058-1-arnd@arndb.de> References: <20161108144950.3472058-1-arnd@arndb.de> X-Provags-ID: V03:K0:1P34V8HV5MVADXX8mw1JaW/fNyiitzXeVaan94O+vsgACargQRb ueYYyc/8h149eB0qNI/xQowYlu+GPPJTDXNwSDZrE9FCTR0p2c2TJZdswXRSXglW1RagWNc Y3WWeMMwNm63jg8AXZfmkf1phHJH3AuI2PAbp6lfo21bwotQtN7QgUfJ5f46k0wBPKj6YvQ L8pqfd+H73L/f/JzpHgsw== X-UI-Out-Filterresults: notjunk:1; V01:K0:a+hP5+Hm9X8=:5Cj5ARhIw0enXRQ0DAULgI bphJBD1+Co8d0g8lCqn61Qwr7u1Wq+RFYdod35/heFfU9hxTmjt/nTK1OOzHRnob4glHlovu3 NHKXmMv9ZluaHMsUUl4UXLlPTNhzNnSLv6UYLT4vBD8IchIlh0R67dgxe8Fc+t6F1fwLbM4uB JPkVwzrBJ0T4A4dN8agC4BzPY7EXt4cQ8V3Gyoe+Jj0gGPnMqXCtRf/sTJVYaznc+1j9aqhIT juDsje20VfCrkEyshdM/xZIEk5TuVvX+cB+Q18LJJg8N0Wd1OD9saLXhbnc5nZ3IunVPQJWCU 5oVA2+NoZLlYF6q1fPagwZhjNwUZ9fhm+bhwtoxpKyyx8oPYZ0BNJdBLG9pR7b0OdedKF5XZd bAxfRu73BDPTOtbZN5wc7arF6lTZ8ZQceaJRz1Ll9AGVIxcsrilbQGSISYVGXKyF0ka4RxQ8Q 50VZEXKbxakMqB2k/9Ts5BFHTG0upf7EUWYtA2cqAbX+ajmcx9Lud+mSgtTj6GMXm18v1XZ3o JSwOP+0fSlDnkg/LI4An++rORdg3KbMn3VXku7U8ohvq06LuZkJ+Gcy+SgmcpslNWangUnoKq KYcOGyQh7Lq8TxOBDj+Y63Uha8KvyPjDa0N+3mKxMF4wsPfcX4Dbl2oLRZSgFUyYt0YSVxV+s EdJ3pr91RveFWNHRIhSyG2c3kkzrr7sducsCpfxFg95jzuZ1yxoucAZCDlpA6N2x80bc= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The new pxa2xx_determine_rate() function seems lacking in a few regards: - For an exact match or no match at all, the rate is uninitialized as reported by gcc -Wmaybe-unintialized: drivers/clk/pxa/clk-pxa.c: In function 'pxa2xx_determine_rate': drivers/clk/pxa/clk-pxa.c:243:5: error: 'rate' may be used uninitialized in this function - If we get a non-exact match, the req->rate output is never set to the actual rate but remains at the requested rate. - We should not attempt to print a rate if none could be found This rewrites the logic accordingly. Fixes: 9fe694295098 ("clk: pxa: transfer CPU clock setting from pxa2xx-cpufreq") Signed-off-by: Arnd Bergmann --- drivers/clk/pxa/clk-pxa.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) -- 2.9.0 diff --git a/drivers/clk/pxa/clk-pxa.c b/drivers/clk/pxa/clk-pxa.c index 50fb9d0ea58d..c423b064c753 100644 --- a/drivers/clk/pxa/clk-pxa.c +++ b/drivers/clk/pxa/clk-pxa.c @@ -211,7 +211,7 @@ void pxa2xx_cpll_change(struct pxa2xx_freq *freq, int pxa2xx_determine_rate(struct clk_rate_request *req, struct pxa2xx_freq *freqs, int nb_freqs) { - int i, closest_below = -1, closest_above = -1, ret = 0; + int i, closest_below = -1, closest_above = -1; unsigned long rate; for (i = 0; i < nb_freqs; i++) { @@ -230,18 +230,19 @@ int pxa2xx_determine_rate(struct clk_rate_request *req, req->best_parent_hw = NULL; - if (i < nb_freqs) - ret = 0; - else if (closest_below >= 0) + if (i < nb_freqs) { + rate = req->rate; + } else if (closest_below >= 0) { rate = freqs[closest_below].cpll; - else if (closest_above >= 0) + } else if (closest_above >= 0) { rate = freqs[closest_above].cpll; - else - ret = -EINVAL; + } else { + pr_debug("%s(rate=%lu) no match\n", __func__, req->rate); + return -EINVAL; + } - pr_debug("%s(rate=%lu) rate=%lu: %d\n", __func__, req->rate, rate, ret); - if (!rate) - req->rate = rate; + pr_debug("%s(rate=%lu) rate=%lu\n", __func__, req->rate, rate); + req->rate = rate; - return ret; + return 0; }