Re: [PATCH 09/20] clk: renesas: remove MODULE_LICENSE in non-modules

Adam Ford
2023-02-28T14:07:36Z

On Tue, Feb 28, 2023 at 7:46 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Nick,
>
> On Tue, Feb 28, 2023 at 2:03 PM Nick Alcock <nick.alcock@oracle.com> wrote:
> > Since commit 8b41fc4454e ("kbuild: create modules.builtin without
> > Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
> > are used to identify modules. As a consequence, uses of the macro
> > in non-modules will cause modprobe to misidentify their containing
> > object file as a module when it is not (false positives), and modprobe
> > might succeed rather than failing with a suitable error message.
> >
> > So remove it in the files in this commit, none of which can be built as
> > modules.
> >
> > Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
> > Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
>
> Thanks for your patch!
>
> > drivers/clk/renesas/rcar-usb2-clock-sel.c | 1 -
>
> I think it would make sense to make CLK_RCAR_USB2_CLOCK_SEL
> tristate. Shimoda-san?
> The Beacon Renesom seems to be the only board where this
> is wired up, Adam?

The CLK_RCAR_USB2_CLOCK_SEL is basically glue that lets the user
select between an external oscillator or a crystal oscillator. The
Beacon board uses an external clock instead of a crystal, so this
driver is plumbed in to make sure the external clock is enabled on
demand and the SoC isn't trying to excite the crystal.

The CLK_RCAR_USB2_CLOCK_SEL is currently set to 'y' in the defconfig,
but it looks like the USB_RENESAS_USB3 and USB_RENESAS_USBHS drivers
are all modules. I am not an expert in this area, but it seems to me
like the CLK_RCAR_USB2_CLOCK_SEL could likely be tri-state as well. I
am not sure how the dependency and/or loading order would be
established.

adam

>
> > drivers/clk/renesas/renesas-cpg-mssr.c | 1 -
> > drivers/clk/renesas/rzg2l-cpg.c | 1 -
> > 3 files changed, 3 deletions(-)
> >
> > diff --git a/drivers/clk/renesas/rcar-usb2-clock-sel.c b/drivers/clk/renesas/rcar-usb2-clock-sel.c
> > index 684d8937965e0..ba6b5bd67786f 100644
> > --- a/drivers/clk/renesas/rcar-usb2-clock-sel.c
> > +++ b/drivers/clk/renesas/rcar-usb2-clock-sel.c
> > @@ -220,4 +220,3 @@ static struct platform_driver rcar_usb2_clock_sel_driver = {
> > builtin_platform_driver(rcar_usb2_clock_sel_driver);
> >
> > MODULE_DESCRIPTION("Renesas R-Car USB2 clock selector Driver");
> > -MODULE_LICENSE("GPL v2");
> > diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
> > index 1a0cdf001b2f2..bfe5dc9a2e36b 100644
> > --- a/drivers/clk/renesas/renesas-cpg-mssr.c
> > +++ b/drivers/clk/renesas/renesas-cpg-mssr.c
> > @@ -1154,4 +1154,3 @@ void __init mssr_mod_reparent(struct mssr_mod_clk *mod_clks,
> > }
> >
> > MODULE_DESCRIPTION("Renesas CPG/MSSR Driver");
> > -MODULE_LICENSE("GPL v2");
> > diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cpg.c
> > index 4bf40f6ccd1d1..93b02cdc98c25 100644
> > --- a/drivers/clk/renesas/rzg2l-cpg.c
> > +++ b/drivers/clk/renesas/rzg2l-cpg.c
> > @@ -1440,4 +1440,3 @@ static int __init rzg2l_cpg_init(void)
> > subsys_initcall(rzg2l_cpg_init);
> >
> > MODULE_DESCRIPTION("Renesas RZ/G2L CPG Driver");
> > -MODULE_LICENSE("GPL v2");
> > --
> > 2.39.1.268.g9de2f9a303
>
> 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