diff mbox

soc: renesas: Provide dummy rcar_rst_read_mode_pins() for compile-testing

Message ID 1493141785-29117-1-git-send-email-geert+renesas@glider.be (mailing list archive)
State Not Applicable
Headers show

Commit Message

Geert Uytterhoeven April 25, 2017, 5:36 p.m. UTC
If the R-Car RST driver is not included, compile-testing R-Car clock
drivers fails with a link error:

    undefined reference to `rcar_rst_read_mode_pins'

To fix this, provide a dummy version.  Use the exact same test logic as
in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
control compilation of the R-Car RST driver.

Fixes: 527c02f66d263d2e ("soc: renesas: Add R-Car RST driver")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
This isn't an issue now, but it does prevent enabling compile-testing of
the R-Car clock drivers.  As this is a dependency between two different
subsystems, I think this patch should be fast-tracked.

The #ifdef condition will be revised later, when the R-Car RST driver
gains its own Kconfig symbol.
---
 include/linux/soc/renesas/rcar-rst.h | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Simon Horman April 26, 2017, 7:13 a.m. UTC | #1
On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
> If the R-Car RST driver is not included, compile-testing R-Car clock
> drivers fails with a link error:
> 
>     undefined reference to `rcar_rst_read_mode_pins'
> 
> To fix this, provide a dummy version.  Use the exact same test logic as
> in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
> control compilation of the R-Car RST driver.

Adding a Kconfig symbol would be a bit cleaner IMHO.

> 
> Fixes: 527c02f66d263d2e ("soc: renesas: Add R-Car RST driver")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> This isn't an issue now, but it does prevent enabling compile-testing of
> the R-Car clock drivers.  As this is a dependency between two different
> subsystems, I think this patch should be fast-tracked.
> 
> The #ifdef condition will be revised later, when the R-Car RST driver
> gains its own Kconfig symbol.
> ---
>  include/linux/soc/renesas/rcar-rst.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/include/linux/soc/renesas/rcar-rst.h b/include/linux/soc/renesas/rcar-rst.h
> index a18e0783946b66ec..787e7ad53d45f61c 100644
> --- a/include/linux/soc/renesas/rcar-rst.h
> +++ b/include/linux/soc/renesas/rcar-rst.h
> @@ -1,6 +1,11 @@
>  #ifndef __LINUX_SOC_RENESAS_RCAR_RST_H__
>  #define __LINUX_SOC_RENESAS_RCAR_RST_H__
>  
> +#if defined(CONFIG_ARCH_RCAR_GEN1) || defined(CONFIG_ARCH_RCAR_GEN2) || \
> +    defined(CONFIG_ARCH_R8A7795) || defined(CONFIG_ARCH_R8A7796)
>  int rcar_rst_read_mode_pins(u32 *mode);
> +#else
> +static inline int rcar_rst_read_mode_pins(u32 *mode) { return -ENODEV; }
> +#endif
>  
>  #endif /* __LINUX_SOC_RENESAS_RCAR_RST_H__ */
> -- 
> 2.7.4
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman April 26, 2017, 7:34 a.m. UTC | #2
On Wed, Apr 26, 2017 at 09:13:06AM +0200, Simon Horman wrote:
> On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
> > If the R-Car RST driver is not included, compile-testing R-Car clock
> > drivers fails with a link error:
> > 
> >     undefined reference to `rcar_rst_read_mode_pins'
> > 
> > To fix this, provide a dummy version.  Use the exact same test logic as
> > in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
> > control compilation of the R-Car RST driver.
> 
> Adding a Kconfig symbol would be a bit cleaner IMHO.

I now see you are doing so in other patches :)

> > Fixes: 527c02f66d263d2e ("soc: renesas: Add R-Car RST driver")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > This isn't an issue now, but it does prevent enabling compile-testing of
> > the R-Car clock drivers.  As this is a dependency between two different
> > subsystems, I think this patch should be fast-tracked.
> > 
> > The #ifdef condition will be revised later, when the R-Car RST driver
> > gains its own Kconfig symbol.
> > ---
> >  include/linux/soc/renesas/rcar-rst.h | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/include/linux/soc/renesas/rcar-rst.h b/include/linux/soc/renesas/rcar-rst.h
> > index a18e0783946b66ec..787e7ad53d45f61c 100644
> > --- a/include/linux/soc/renesas/rcar-rst.h
> > +++ b/include/linux/soc/renesas/rcar-rst.h
> > @@ -1,6 +1,11 @@
> >  #ifndef __LINUX_SOC_RENESAS_RCAR_RST_H__
> >  #define __LINUX_SOC_RENESAS_RCAR_RST_H__
> >  
> > +#if defined(CONFIG_ARCH_RCAR_GEN1) || defined(CONFIG_ARCH_RCAR_GEN2) || \
> > +    defined(CONFIG_ARCH_R8A7795) || defined(CONFIG_ARCH_R8A7796)
> >  int rcar_rst_read_mode_pins(u32 *mode);
> > +#else
> > +static inline int rcar_rst_read_mode_pins(u32 *mode) { return -ENODEV; }
> > +#endif
> >  
> >  #endif /* __LINUX_SOC_RENESAS_RCAR_RST_H__ */
> > -- 
> > 2.7.4
> > 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven April 26, 2017, 12:35 p.m. UTC | #3
Hi Simon,

On Wed, Apr 26, 2017 at 9:34 AM, Simon Horman <horms@verge.net.au> wrote:
> On Wed, Apr 26, 2017 at 09:13:06AM +0200, Simon Horman wrote:
>> On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
>> > If the R-Car RST driver is not included, compile-testing R-Car clock
>> > drivers fails with a link error:
>> >
>> >     undefined reference to `rcar_rst_read_mode_pins'
>> >
>> > To fix this, provide a dummy version.  Use the exact same test logic as
>> > in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
>> > control compilation of the R-Car RST driver.
>>
>> Adding a Kconfig symbol would be a bit cleaner IMHO.
>
> I now see you are doing so in other patches :)

Indeed. I went with this quick fix, as drivers/soc/renesas doesn't have
a Kconfig file yet, and introducing a Kconfig symbol would thus be more
intrusive.

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
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman April 28, 2017, 5:14 a.m. UTC | #4
On Wed, Apr 26, 2017 at 02:35:58PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Wed, Apr 26, 2017 at 9:34 AM, Simon Horman <horms@verge.net.au> wrote:
> > On Wed, Apr 26, 2017 at 09:13:06AM +0200, Simon Horman wrote:
> >> On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
> >> > If the R-Car RST driver is not included, compile-testing R-Car clock
> >> > drivers fails with a link error:
> >> >
> >> >     undefined reference to `rcar_rst_read_mode_pins'
> >> >
> >> > To fix this, provide a dummy version.  Use the exact same test logic as
> >> > in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
> >> > control compilation of the R-Car RST driver.
> >>
> >> Adding a Kconfig symbol would be a bit cleaner IMHO.
> >
> > I now see you are doing so in other patches :)
> 
> Indeed. I went with this quick fix, as drivers/soc/renesas doesn't have
> a Kconfig file yet, and introducing a Kconfig symbol would thus be more
> intrusive.

Thanks. Given that it doesn't appear that the problem resolved by this fix
manifests at this time I have queued it up for v4.13 rather than as a fix
for v4.12. Let me know if you'd like me to revisit that decision.
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven April 28, 2017, 7:28 a.m. UTC | #5
Hi Simon,

On Fri, Apr 28, 2017 at 7:14 AM, Simon Horman <horms@verge.net.au> wrote:
> On Wed, Apr 26, 2017 at 02:35:58PM +0200, Geert Uytterhoeven wrote:
>> On Wed, Apr 26, 2017 at 9:34 AM, Simon Horman <horms@verge.net.au> wrote:
>> > On Wed, Apr 26, 2017 at 09:13:06AM +0200, Simon Horman wrote:
>> >> On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
>> >> > If the R-Car RST driver is not included, compile-testing R-Car clock
>> >> > drivers fails with a link error:
>> >> >
>> >> >     undefined reference to `rcar_rst_read_mode_pins'
>> >> >
>> >> > To fix this, provide a dummy version.  Use the exact same test logic as
>> >> > in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
>> >> > control compilation of the R-Car RST driver.
>> >>
>> >> Adding a Kconfig symbol would be a bit cleaner IMHO.
>> >
>> > I now see you are doing so in other patches :)
>>
>> Indeed. I went with this quick fix, as drivers/soc/renesas doesn't have
>> a Kconfig file yet, and introducing a Kconfig symbol would thus be more
>> intrusive.
>
> Thanks. Given that it doesn't appear that the problem resolved by this fix
> manifests at this time I have queued it up for v4.13 rather than as a fix
> for v4.12. Let me know if you'd like me to revisit that decision.

I had hoped you could still queue it as a fix for v4.12...

This is one of the blockers for enabling compile-testing of the R-Car clock
drivers in v4.13.  Of course some of the other blockers may not make v4.12
neither.

Instead of  postponing it to v4.13, you could as well drop it, and wait for
the better solution in "[RFC] soc: renesas: Rework Kconfig and Makefile
logic".

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
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman April 28, 2017, 8:01 a.m. UTC | #6
On Fri, Apr 28, 2017 at 09:28:20AM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Fri, Apr 28, 2017 at 7:14 AM, Simon Horman <horms@verge.net.au> wrote:
> > On Wed, Apr 26, 2017 at 02:35:58PM +0200, Geert Uytterhoeven wrote:
> >> On Wed, Apr 26, 2017 at 9:34 AM, Simon Horman <horms@verge.net.au> wrote:
> >> > On Wed, Apr 26, 2017 at 09:13:06AM +0200, Simon Horman wrote:
> >> >> On Tue, Apr 25, 2017 at 07:36:25PM +0200, Geert Uytterhoeven wrote:
> >> >> > If the R-Car RST driver is not included, compile-testing R-Car clock
> >> >> > drivers fails with a link error:
> >> >> >
> >> >> >     undefined reference to `rcar_rst_read_mode_pins'
> >> >> >
> >> >> > To fix this, provide a dummy version.  Use the exact same test logic as
> >> >> > in drivers/soc/renesas/Makefile, as there is no Kconfig symbol (yet) to
> >> >> > control compilation of the R-Car RST driver.
> >> >>
> >> >> Adding a Kconfig symbol would be a bit cleaner IMHO.
> >> >
> >> > I now see you are doing so in other patches :)
> >>
> >> Indeed. I went with this quick fix, as drivers/soc/renesas doesn't have
> >> a Kconfig file yet, and introducing a Kconfig symbol would thus be more
> >> intrusive.
> >
> > Thanks. Given that it doesn't appear that the problem resolved by this fix
> > manifests at this time I have queued it up for v4.13 rather than as a fix
> > for v4.12. Let me know if you'd like me to revisit that decision.
> 
> I had hoped you could still queue it as a fix for v4.12...

Sure, I'll see what I can do.

> This is one of the blockers for enabling compile-testing of the R-Car clock
> drivers in v4.13.  Of course some of the other blockers may not make v4.12
> neither.
> 
> Instead of  postponing it to v4.13, you could as well drop it, and wait for
> the better solution in "[RFC] soc: renesas: Rework Kconfig and Makefile
> logic".
> 
> 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
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/soc/renesas/rcar-rst.h b/include/linux/soc/renesas/rcar-rst.h
index a18e0783946b66ec..787e7ad53d45f61c 100644
--- a/include/linux/soc/renesas/rcar-rst.h
+++ b/include/linux/soc/renesas/rcar-rst.h
@@ -1,6 +1,11 @@ 
 #ifndef __LINUX_SOC_RENESAS_RCAR_RST_H__
 #define __LINUX_SOC_RENESAS_RCAR_RST_H__
 
+#if defined(CONFIG_ARCH_RCAR_GEN1) || defined(CONFIG_ARCH_RCAR_GEN2) || \
+    defined(CONFIG_ARCH_R8A7795) || defined(CONFIG_ARCH_R8A7796)
 int rcar_rst_read_mode_pins(u32 *mode);
+#else
+static inline int rcar_rst_read_mode_pins(u32 *mode) { return -ENODEV; }
+#endif
 
 #endif /* __LINUX_SOC_RENESAS_RCAR_RST_H__ */