From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1764342AbcJaJwZ (ORCPT ); Mon, 31 Oct 2016 05:52:25 -0400 Received: from kirsty.vergenet.net ([202.4.237.240]:38177 "EHLO kirsty.vergenet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1764275AbcJaJwY (ORCPT ); Mon, 31 Oct 2016 05:52:24 -0400 Date: Mon, 31 Oct 2016 10:52:17 +0100 From: Simon Horman To: Geert Uytterhoeven Cc: Arnd Bergmann , Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Laurent Pinchart , Magnus Damm , Sergei Shtylyov , Linux-Renesas , linux-clk , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] clk: fix link error for rcar-gen2 Message-ID: <20161031095214.GA2335@verge.net.au> References: <20161021154737.3803065-1-arnd@arndb.de> <3808786.t4RxxDciQu@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organisation: Horms Solutions BV User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 31, 2016 at 10:23:00AM +0100, Geert Uytterhoeven wrote: > On Tue, Oct 25, 2016 at 10:37 AM, Geert Uytterhoeven > wrote: > > On Fri, Oct 21, 2016 at 11:07 PM, Arnd Bergmann wrote: > >> On Friday, October 21, 2016 8:01:49 PM CEST Geert Uytterhoeven wrote: > >>> > diff --git a/drivers/clk/renesas/Makefile b/drivers/clk/renesas/Makefile > >>> > index 90dd0db7d9c6..762d122eddec 100644 > >>> > --- a/drivers/clk/renesas/Makefile > >>> > +++ b/drivers/clk/renesas/Makefile > >>> > @@ -4,11 +4,7 @@ obj-$(CONFIG_ARCH_R8A73A4) += clk-r8a73a4.o clk-div6.o > >>> > obj-$(CONFIG_ARCH_R8A7740) += clk-r8a7740.o clk-div6.o > >>> > obj-$(CONFIG_ARCH_R8A7778) += clk-r8a7778.o > >>> > obj-$(CONFIG_ARCH_R8A7779) += clk-r8a7779.o > >>> > -obj-$(CONFIG_ARCH_R8A7790) += clk-rcar-gen2.o clk-div6.o > >>> > -obj-$(CONFIG_ARCH_R8A7791) += clk-rcar-gen2.o clk-div6.o > >>> > -obj-$(CONFIG_ARCH_R8A7792) += clk-rcar-gen2.o clk-div6.o > >>> > -obj-$(CONFIG_ARCH_R8A7793) += clk-rcar-gen2.o clk-div6.o > >>> > -obj-$(CONFIG_ARCH_R8A7794) += clk-rcar-gen2.o clk-div6.o > >>> > +obj-$(CONFIG_ARCH_RCAR_GEN2) += clk-rcar-gen2.o clk-div6.o > >>> > obj-$(CONFIG_ARCH_R8A7795) += r8a7795-cpg-mssr.o rcar-gen3-cpg.o > >>> > obj-$(CONFIG_ARCH_R8A7796) += r8a7796-cpg-mssr.o rcar-gen3-cpg.o > >>> > obj-$(CONFIG_ARCH_SH73A0) += clk-sh73a0.o clk-div6.o > >>> > >>> Please don't fix it this way, as it will make it _harder_ to convert the R-Car > >>> Gen2 SoCs to the modern CPG/MSSR driver later. > >> > >> Ok, I see. How about just adding another line for r8a7743 and > >> dropping that again after the timer_init has been converted? > > > > That's an option, but it touches a different subsystem ;-) > > Alternatively, the call to rcar_gen2_clocks_init() in > arch/arm/mach-shmobile/setup-rcar-gen2.c:rcar_gen2_timer_init() > can be protected temporarily by > > #if defined(CONFIG_R8A7790) || ... || defined(CONFIG_R8A7794) > > until "[PATCH v4 00/23] soc: renesas: Add R-Car RST driver for > obtaining mode pin state" went it, which will remove that call. I believe Geert has something like the following in mind. It makes sense to me as it should resolve the problem in question and although it is a work-around it should not be in place for long as the patchset mentioned immediately above would remove it. From: Simon Horman Subject: [PATCH] ARM: shmobile: only call rcar_gen2_clocks_init() if present The RZ/G1M (r8a7743) uses the R-Car Gen2 core, but not the R-Car Gen2 clock driver. This is a harbinger of a transition for R-Car Gen2 SoCs. As the process to get all the required pieces in place is somewhat complex it seems useful to try to disentangle dependencies where possible. The approach here is to temporarily disable calling rcar_gen2_clocks_init() if no R-Car Gen2 SoC are configured and thus the symbol will not be present. Fixes: 1254f607fc3d ("ARM: shmobile: r8a7743: basic SoC support") Signed-off-by: Simon Horman --- The current likely path to removing need for this is for "[PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state" to be accepted. In particular patch 20 removes the call to rcar_gen2_clocks_init() in rcar_gen2_timer_init(). --- arch/arm/mach-shmobile/setup-rcar-gen2.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c b/arch/arm/mach-shmobile/setup-rcar-gen2.c index 875bcb8c1026..657262556dc4 100644 --- a/arch/arm/mach-shmobile/setup-rcar-gen2.c +++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c @@ -131,7 +131,13 @@ void __init rcar_gen2_timer_init(void) iounmap(base); #endif /* CONFIG_ARM_ARCH_TIMER */ - rcar_gen2_clocks_init(mode); + if (IS_ENABLED(CONFIG_ARCH_R8A7790) || + IS_ENABLED(CONFIG_ARCH_R8A7791) || + IS_ENABLED(CONFIG_ARCH_R8A7792) || + IS_ENABLED(CONFIG_ARCH_R8A7793) || + IS_ENABLED(CONFIG_ARCH_R8A7794)) + rcar_gen2_clocks_init(mode); + clocksource_probe(); } -- 2.7.0.rc3.207.g0ac5344