The IWB driver cannot be compiled as a module and is as matter of fact a
builtin driver at present.
Make it explicitly so by removing useless boilerplate and by using the
builtin_platform_driver() helper to initialize its registration
functions.
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Marc Zyngier <maz@kernel.org>
---
drivers/irqchip/irq-gic-v5-iwb.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/irqchip/irq-gic-v5-iwb.c b/drivers/irqchip/irq-gic-v5-iwb.c
index ad9fdc14d1c6..c3a3b30e9f4e 100644
--- a/drivers/irqchip/irq-gic-v5-iwb.c
+++ b/drivers/irqchip/irq-gic-v5-iwb.c
@@ -263,7 +263,6 @@ static const struct of_device_id gicv5_iwb_of_match[] = {
{ .compatible = "arm,gic-v5-iwb" },
{ /* END */ }
};
-MODULE_DEVICE_TABLE(of, gicv5_iwb_of_match);
static struct platform_driver gicv5_iwb_platform_driver = {
.driver = {
@@ -274,4 +273,4 @@ static struct platform_driver gicv5_iwb_platform_driver = {
.probe = gicv5_iwb_device_probe,
};
-module_platform_driver(gicv5_iwb_platform_driver);
+builtin_platform_driver(gicv5_iwb_platform_driver);
--
2.48.0
On Fri, 01 Aug 2025 08:58:19 +0100, Lorenzo Pieralisi <lpieralisi@kernel.org> wrote: > > The IWB driver cannot be compiled as a module and is as matter of fact a > builtin driver at present. What is blocking that? > > Make it explicitly so by removing useless boilerplate and by using the > builtin_platform_driver() helper to initialize its registration > functions. > > Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Marc Zyngier <maz@kernel.org> > --- > drivers/irqchip/irq-gic-v5-iwb.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/irqchip/irq-gic-v5-iwb.c b/drivers/irqchip/irq-gic-v5-iwb.c > index ad9fdc14d1c6..c3a3b30e9f4e 100644 > --- a/drivers/irqchip/irq-gic-v5-iwb.c > +++ b/drivers/irqchip/irq-gic-v5-iwb.c > @@ -263,7 +263,6 @@ static const struct of_device_id gicv5_iwb_of_match[] = { > { .compatible = "arm,gic-v5-iwb" }, > { /* END */ } > }; > -MODULE_DEVICE_TABLE(of, gicv5_iwb_of_match); > > static struct platform_driver gicv5_iwb_platform_driver = { > .driver = { > @@ -274,4 +273,4 @@ static struct platform_driver gicv5_iwb_platform_driver = { > .probe = gicv5_iwb_device_probe, > }; > > -module_platform_driver(gicv5_iwb_platform_driver); > +builtin_platform_driver(gicv5_iwb_platform_driver); > I'd rather we make the driver buildable as a module if at all possible, instead of forcing it as built-in for everyone. It would definitely help pipe-cleaning the potential missing dependencies. Thanks, M. -- Without deviation from the norm, progress is not possible.
On Fri, Aug 01, 2025 at 01:24:57PM +0100, Marc Zyngier wrote: > On Fri, 01 Aug 2025 08:58:19 +0100, > Lorenzo Pieralisi <lpieralisi@kernel.org> wrote: > > > > The IWB driver cannot be compiled as a module and is as matter of fact a > > builtin driver at present. > > What is blocking that? Yep, you read my mind I need to test this but AFAICS at the moment the answer is: nothing. > > Make it explicitly so by removing useless boilerplate and by using the > > builtin_platform_driver() helper to initialize its registration > > functions. > > > > Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Marc Zyngier <maz@kernel.org> > > --- > > drivers/irqchip/irq-gic-v5-iwb.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/irqchip/irq-gic-v5-iwb.c b/drivers/irqchip/irq-gic-v5-iwb.c > > index ad9fdc14d1c6..c3a3b30e9f4e 100644 > > --- a/drivers/irqchip/irq-gic-v5-iwb.c > > +++ b/drivers/irqchip/irq-gic-v5-iwb.c > > @@ -263,7 +263,6 @@ static const struct of_device_id gicv5_iwb_of_match[] = { > > { .compatible = "arm,gic-v5-iwb" }, > > { /* END */ } > > }; > > -MODULE_DEVICE_TABLE(of, gicv5_iwb_of_match); > > > > static struct platform_driver gicv5_iwb_platform_driver = { > > .driver = { > > @@ -274,4 +273,4 @@ static struct platform_driver gicv5_iwb_platform_driver = { > > .probe = gicv5_iwb_device_probe, > > }; > > > > -module_platform_driver(gicv5_iwb_platform_driver); > > +builtin_platform_driver(gicv5_iwb_platform_driver); > > > > I'd rather we make the driver buildable as a module if at all > possible, instead of forcing it as built-in for everyone. It would > definitely help pipe-cleaning the potential missing dependencies. Yes - I took a shortcut by removing boilerplate (that the compiler/linker remove anyway) - it makes sense to rework the build to make it possible to build as a module instead. This patch can be dropped then, I will work on the follow-up. Lorenzo
© 2016 - 2025 Red Hat, Inc.