The problem is reported for allmodconfig build setup: ERROR: "irq_chip_retrigger_hierarchy" [drivers/gpio/gpio-lpc18xx.ko] undefined! make[2]: *** [scripts/Makefile.modpost:92: __modpost] Error 1 make[1]: *** [Makefile:1271: modules] Error 2 My testing in runtime shows that it is sufficient to remove .irq_retrigger callback, which is assigned to unexported irq_chip_retrigger_hierarchy() function, I did't observe any regressions, and thus apparently it is a better fix rather than exporting the function defined in kernel/irq/chip.c (see commit 52b2a05fa7c8 ("genirq: Export IRQ functions for module use")) or sticking the GPIO controller driver build to built-in option only. Reported-by: kbuild test robot <lkp@xxxxxxxxx> Fixes: 5ddabfe8d3de ("gpio: lpc18xx: add GPIO pin interrupt controller support") Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> --- Linus, the initial change appears to be not so perfect :) The fixup is done on top of your devel branch, but I'm not sure if you rebase the branch, and if so, then please feel free to squash this fixup into commit 5ddabfe8d3de, otherwise it should be okay to apply the patch on top. Evidently I was too over-cautious when added the .irq_retrigger callback. Vladimir drivers/gpio/gpio-lpc18xx.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpio/gpio-lpc18xx.c b/drivers/gpio/gpio-lpc18xx.c index 040fb59d06f7..d441dbaed7a3 100644 --- a/drivers/gpio/gpio-lpc18xx.c +++ b/drivers/gpio/gpio-lpc18xx.c @@ -11,7 +11,6 @@ #include <linux/gpio/driver.h> #include <linux/io.h> #include <linux/irqdomain.h> -#include <linux/irqchip.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_address.h> @@ -158,7 +157,6 @@ static struct irq_chip lpc18xx_gpio_pin_ic = { .irq_unmask = lpc18xx_gpio_pin_ic_unmask, .irq_eoi = lpc18xx_gpio_pin_ic_eoi, .irq_set_type = lpc18xx_gpio_pin_ic_set_type, - .irq_retrigger = irq_chip_retrigger_hierarchy, .flags = IRQCHIP_SET_TYPE_MASKED, }; -- 2.19.0