[PATCH 1/2] irqchip: irq-meson-gpio: make it possible to build as a module

Lee Jones lee.jones at linaro.org
Tue Sep 28 03:45:55 PDT 2021


On Thu, 02 Sep 2021, Saravana Kannan wrote:

> On Thu, Sep 2, 2021 at 6:49 AM Neil Armstrong <narmstrong at baylibre.com> wrote:
> >
> > In order to reduce the kernel Image size on multi-platform distributions,
> > make it possible to build the Amlogic GPIO IRQ controller as a module
> > by switching it to a platform driver.
> >
> > Signed-off-by: Neil Armstrong <narmstrong at baylibre.com>
> > ---
> >  drivers/irqchip/Kconfig          |  5 +++--
> >  drivers/irqchip/irq-meson-gpio.c | 15 +++++++++------
> >  2 files changed, 12 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> > index 4d5924e9f766..2aba485025fd 100644
> > --- a/drivers/irqchip/Kconfig
> > +++ b/drivers/irqchip/Kconfig
> > @@ -400,8 +400,9 @@ config IRQ_UNIPHIER_AIDET
> >           Support for the UniPhier AIDET (ARM Interrupt Detector).
> >
> >  config MESON_IRQ_GPIO
> > -       bool "Meson GPIO Interrupt Multiplexer"
> > -       depends on ARCH_MESON
> > +       tristate "Meson GPIO Interrupt Multiplexer"
> > +       depends on ARCH_MESON || COMPILE_TEST
> > +       default ARCH_MESON
> >         select IRQ_DOMAIN_HIERARCHY
> >         help
> >           Support Meson SoC Family GPIO Interrupt Multiplexer
> > diff --git a/drivers/irqchip/irq-meson-gpio.c b/drivers/irqchip/irq-meson-gpio.c
> > index e50676ce2ec8..d90ff0b92480 100644
> > --- a/drivers/irqchip/irq-meson-gpio.c
> > +++ b/drivers/irqchip/irq-meson-gpio.c
> > @@ -436,8 +436,7 @@ static const struct irq_domain_ops meson_gpio_irq_domain_ops = {
> >         .translate      = meson_gpio_irq_domain_translate,
> >  };
> >
> > -static int __init meson_gpio_irq_parse_dt(struct device_node *node,
> > -                                         struct meson_gpio_irq_controller *ctl)
> > +static int meson_gpio_irq_parse_dt(struct device_node *node, struct meson_gpio_irq_controller *ctl)
> >  {
> >         const struct of_device_id *match;
> >         int ret;
> > @@ -463,8 +462,7 @@ static int __init meson_gpio_irq_parse_dt(struct device_node *node,
> >         return 0;
> >  }
> >
> > -static int __init meson_gpio_irq_of_init(struct device_node *node,
> > -                                        struct device_node *parent)
> > +static int meson_gpio_irq_of_init(struct device_node *node, struct device_node *parent)
> >  {
> >         struct irq_domain *domain, *parent_domain;
> >         struct meson_gpio_irq_controller *ctl;
> > @@ -521,5 +519,10 @@ static int __init meson_gpio_irq_of_init(struct device_node *node,
> >         return ret;
> >  }
> >
> > -IRQCHIP_DECLARE(meson_gpio_intc, "amlogic,meson-gpio-intc",
> > -               meson_gpio_irq_of_init);
> > +IRQCHIP_PLATFORM_DRIVER_BEGIN(meson_gpio_intc)
> > +IRQCHIP_MATCH("amlogic,meson-gpio-intc", meson_gpio_irq_of_init)
> > +IRQCHIP_PLATFORM_DRIVER_END(meson_gpio_intc)
> > +
> > +MODULE_AUTHOR("Jerome Brunet <jbrunet at baylibre.com>");
> > +MODULE_LICENSE("GPL v2");
> > +MODULE_ALIAS("platform:meson-gpio-intc");
> > --
> 
> Acked-by: Saravana Kannan <saravanak at google.com>
> 
> Marc, my mdio-mux patches have landed.

Reviewed-by: Lee Jones <lee.jones at linaro.org>

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list