On Sat, Feb 25, 2023 at 4:59 AM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote: > > On Fri, Feb 24, 2023 at 05:35:34PM +0000, Marc Zyngier wrote: > > On Fri, 24 Feb 2023 17:21:40 +0000, > > Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote: > > > > > > On Fri, Feb 24, 2023 at 03:32:51PM +0000, Marc Zyngier wrote: > > > > On Fri, 24 Feb 2023 15:07:53 +0000, > > > > Nick Alcock <nick.alcock@xxxxxxxxxx> 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@xxxxxxxxxx> > > > > > Suggested-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> > > > > > Cc: Luis Chamberlain <mcgrof@xxxxxxxxxx> > > > > > Cc: linux-modules@xxxxxxxxxxxxxxx > > > > > Cc: linux-kernel@xxxxxxxxxxxxxxx > > > > > Cc: Hitomi Hasegawa <hasegawa-hitomi@xxxxxxxxxxx> > > > > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > > > > Cc: Marc Zyngier <maz@xxxxxxxxxx> > > > > > Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > > > > --- > > > > > drivers/irqchip/irq-renesas-rzg2l.c | 1 - > > > > > 1 file changed, 1 deletion(-) > > > > > > > > > > diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c > > > > > index 25fd8ee66565..4bbfa2b0a4df 100644 > > > > > --- a/drivers/irqchip/irq-renesas-rzg2l.c > > > > > +++ b/drivers/irqchip/irq-renesas-rzg2l.c > > > > > @@ -390,4 +390,3 @@ IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init) > > > > > IRQCHIP_PLATFORM_DRIVER_END(rzg2l_irqc) > > > > > MODULE_AUTHOR("Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>"); > > > > > MODULE_DESCRIPTION("Renesas RZ/G2L IRQC Driver"); > > > > > -MODULE_LICENSE("GPL"); > > > > > > > > I'm probably missing some context here, but I find it odd to drop > > > > something that is a important piece of information because of what > > > > looks like a tooling regression. > > > > > > > > It also means that once a random driver gets enabled as a module, it > > > > won't load because it is now missing a MODULE_LICENSE() annotation. > > > > > > > > It feels like MODULE_LICENSE should instead degrade to an empty > > > > statement when MODULE isn't defined. Why isn't this approach the > > > > correct one? > > > > > > > > I expect the cover letter would have some pretty good information on > > > > this, but lore.kernel.org doesn't seem to have it at the time I write > > > > this ("Message-ID <20230224150811.80316-1-nick.alcock@xxxxxxxxxx> not > > > > found"). > > > > > > The right thing is to not even have this and have the module license > > > inferred from the SPDX tag. But for now we want to remove the tag from > > > things we know for sure are not modules. > > > > I understand that you want to remove it. I don't get why this is the > > right solution. Can you please assume that, in this particular > > instance, I am a complete idiot and spell it out for me? > > > > Why isn't that a problem for modules that are compiled-in? > > Modules that are compiled in should succeed with a modprobe call as its > already loaded. The construct we're looking for is a way to detect > things which are built-in but *could* be modules. The annotation today > is done at build time for something built-in using a file path using > modinfo. Why is it important to make "modprobe irq-renesas-rza1" fail? With CONFIG_RENESAS_RZA1_IRQC=y, "modprobe irq-renesas-rza1" exits with 0. I do not think it is a big deal since irq-renesas-rza1 is available as built-in. -- Best Regards Masahiro Yamada