Message ID | 20161021154737.3803065-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Simon Horman |
Headers | show |
Hello. On 10/21/2016 06:47 PM, Arnd Bergmann wrote: > The addition of one more rcar-gen2 based SoC caused a build error (again) > in my randconfig builds: > > arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init': > setup-rcar-gen2.c:(.init.text+0x200): undefined reference to `rcar_gen2_clocks_init' OK, seeing how you got this -- I should have tested the kernel build with only R8A7743 enabled... sorry about that. :-< I probably shouldn't have used rcar_gen2_timer_init() in the 1st place... > I think this has happened twice in the past. Instead of adding each SoC > one at a time, this changes the existing list to always build the > rcar-gen2 related clk files whenever the generic symbol is selected. The problem is we're not going to use this driver on RZ/G SoCs... The newer rcar2-cpg-mssr.c will be used instead -- I submitted the patches for that before ELC-E... > Fixes: 1254f607fc3d ("ARM: shmobile: r8a7743: basic SoC support") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> [...] MBR, Sergei
Hi Arnd, On Fri, Oct 21, 2016 at 5:47 PM, Arnd Bergmann <arnd@arndb.de> wrote: > The addition of one more rcar-gen2 based SoC caused a build error (again) > in my randconfig builds: > > arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init': > setup-rcar-gen2.c:(.init.text+0x200): undefined reference to `rcar_gen2_clocks_init' > > I think this has happened twice in the past. Instead of adding each SoC > one at a time, this changes the existing list to always build the > rcar-gen2 related clk files whenever the generic symbol is selected. The problem is that the R-Car Gen2 platform code calls into the R-Car Gen2 clock driver[*]. RZ/G1M (r8a7743) uses the R-Car Gen2 core, but not the R-Car Gen2 clock driver. Instead it will use the modern CPG/MSSR driver, like R-Car Gen3 does. [*] That will be fixed by "[PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state". > Fixes: 1254f607fc3d ("ARM: shmobile: r8a7743: basic SoC support") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/clk/renesas/Makefile | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > 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. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
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? Arnd
Hi Arnd, On Fri, Oct 21, 2016 at 11:07 PM, Arnd Bergmann <arnd@arndb.de> 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 ;-) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Tue, Oct 25, 2016 at 10:37 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Fri, Oct 21, 2016 at 11:07 PM, Arnd Bergmann <arnd@arndb.de> 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. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
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
The addition of one more rcar-gen2 based SoC caused a build error (again) in my randconfig builds: arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init': setup-rcar-gen2.c:(.init.text+0x200): undefined reference to `rcar_gen2_clocks_init' I think this has happened twice in the past. Instead of adding each SoC one at a time, this changes the existing list to always build the rcar-gen2 related clk files whenever the generic symbol is selected. Fixes: 1254f607fc3d ("ARM: shmobile: r8a7743: basic SoC support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/clk/renesas/Makefile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)