From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755523AbcBHQG2 (ORCPT ); Mon, 8 Feb 2016 11:06:28 -0500 Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:52971 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754991AbcBHQG0 (ORCPT ); Mon, 8 Feb 2016 11:06:26 -0500 Subject: Re: [PATCH 07/11] clk: sunxi: add generic allwinner,sunxi name To: Rob Herring References: <1454348370-3816-1-git-send-email-andre.przywara@arm.com> <1454348370-3816-8-git-send-email-andre.przywara@arm.com> <20160208155721.GB4677@rob-hp-laptop> Cc: Maxime Ripard , Chen-Yu Tsai , linux-sunxi@googlegroups.com, Arnd Bergmann , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Emilio_L=c3=b3pez?= , Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, Jens Kuske , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org From: Andre Przywara X-Enigmail-Draft-Status: N1110 Organization: ARM Ltd. Message-ID: <56B8BCF7.4080701@arm.com> Date: Mon, 8 Feb 2016 16:06:15 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160208155721.GB4677@rob-hp-laptop> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 08/02/16 15:57, Rob Herring wrote: > On Mon, Feb 01, 2016 at 05:39:26PM +0000, Andre Przywara wrote: >> The only difference between the different compatible matches at the >> end of clk-sunxi.c are the critical clocks. Two SoCs get away so far >> without any, so there is no reason to enumerate those SoCs in here >> explicitly, though we have to keep them in for compatibility reasons. >> >> Rename the init function to highlight this generic feature and add a >> new, generic DT compatible string which can be used as a fallback value >> in the future should a particular SoC don't need any special treatment. >> >> Signed-off-by: Andre Przywara >> --- >> Documentation/devicetree/bindings/arm/sunxi.txt | 4 ++++ >> drivers/clk/sunxi/clk-sunxi.c | 14 ++++++-------- >> 2 files changed, 10 insertions(+), 8 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt >> index 7e79fcc..980e065 100644 >> --- a/Documentation/devicetree/bindings/arm/sunxi.txt >> +++ b/Documentation/devicetree/bindings/arm/sunxi.txt >> @@ -14,3 +14,7 @@ using one of the following compatible strings: >> allwinner,sun8i-a83t >> allwinner,sun8i-h3 >> allwinner,sun9i-a80 >> + >> +For Allwinner SoCs without any specific needs the generic fallback value of: >> + allwinner,sunxi >> +can be used. > > Perhaps "fallback" implies this, but be more specific that it can be > used in addition to a specific string. Yeah, good point. But Maxime's latest rework [1] made this patch here actually obsolete, so we don't match on a root compatible string anymore to register the sunxi clock drivers. Instead each clock is registered and matched on it's own compatible string. Much nicer now, IMHO. Thanks for having a look! Andre. [1] https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?h=sunxi/for-next&id=78e3fb4c745114b16a12458036d48aa96ea5b36d >> diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c >> index e460a6b..efcce85 100644 >> --- a/drivers/clk/sunxi/clk-sunxi.c >> +++ b/drivers/clk/sunxi/clk-sunxi.c >> @@ -1052,14 +1052,12 @@ CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks); >> CLK_OF_DECLARE(sun8i_a33_clk_init, "allwinner,sun8i-a33", sun6i_init_clocks); >> CLK_OF_DECLARE(sun8i_h3_clk_init, "allwinner,sun8i-h3", sun6i_init_clocks); >> >> -static void __init sun8i_a83t_init_clocks(struct device_node *node) >> +static void __init sunxi_generic_init_clocks(struct device_node *node) >> { >> sunxi_init_clocks(NULL, 0); >> } >> -CLK_OF_DECLARE(sun8i_a83t_clk_init, "allwinner,sun8i-a83t", sun8i_a83t_init_clocks); >> - >> -static void __init sun9i_init_clocks(struct device_node *node) >> -{ >> - sunxi_init_clocks(NULL, 0); >> -} >> -CLK_OF_DECLARE(sun9i_a80_clk_init, "allwinner,sun9i-a80", sun9i_init_clocks); >> +CLK_OF_DECLARE(sun8i_a83t_clk_init, "allwinner,sun8i-a83t", >> + sunxi_generic_init_clocks); >> +CLK_OF_DECLARE(sun9i_a80_clk_init, "allwinner,sun9i-a80", >> + sunxi_generic_init_clocks); >> +CLK_OF_DECLARE(sunxi_clk_init, "allwinner,sunxi", sunxi_generic_init_clocks); >> -- >> 2.6.4 >> >