Re: [tip:irq/core 6/17] ERROR: modpost: "irq_gc_mask_disable_and_ack_set" [drivers/irqchip/irq-brcmstb-l2.ko] undefined!

Dr. David Alan Gilbert
2025-01-15T22:55:14Z

* Florian Fainelli (florian.fainelli@broadcom.com) wrote:
> On 1/15/25 13:53, Dr. David Alan Gilbert wrote:
> > * kernel test robot (lkp@intel.com) wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
> > > head: 12cbdcb9f05559ff72eb8a04df829852804c0276
> > > commit: dd1f17a9faf5359d76644236cde4cc1720f1184d [6/17] irqchip/irq-brcmstb-l2: Replace brcmstb_l2_mask_and_ack() by generic function
> > > config: arm64-randconfig-002-20250115 (https://download.01.org/0day-ci/archive/20250116/202501160501.6r9pNtBg-lkp@intel.com/config)
> > > compiler: aarch64-linux-gcc (GCC) 14.2.0
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250116/202501160501.6r9pNtBg-lkp@intel.com/reproduce)
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <lkp@intel.com>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202501160501.6r9pNtBg-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>, old ones prefixed by <<):
> > >
> > > > > ERROR: modpost: "irq_gc_mask_disable_and_ack_set" [drivers/irqchip/irq-brcmstb-l2.ko] undefined!
> >
> > Hmm, that's not happy is it - I'll have a look.
>
> We should be amending your original patch with the following:
>
> diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c
> index 32ffcbb87fa1..c4a8bca5f2b0 100644
> --- a/kernel/irq/generic-chip.c
> +++ b/kernel/irq/generic-chip.c
> @@ -162,6 +162,7 @@ void irq_gc_mask_disable_and_ack_set(struct irq_data *d)
> irq_reg_writel(gc, mask, ct->regs.ack);
> irq_gc_unlock(gc);
> }
> +EXPORT_SYMBOL_GPL(irq_gc_mask_disable_and_ack_set);
>
> /**
> * irq_gc_eoi - EOI interrupt
>
>
> This was not going to be a problem back when Doug's commit was accepted, but
> later on, irq-brcmsbtb-l2 was allowed to become modular with
> 51d9db5c8fbbed160081d4cb5c193abdf67ded05 ("irqchip/irq-brcmstb-l2: Switch to
> IRQCHIP_PLATFORM_DRIVER").
>
> This totally escaped me when I acked your patch making use of the generic
> irq_gc_mask_disable_and_ack_set implementation.

Thanks for spotting that; I'll give it a build test and post a v2 in
a little while.

Dave

> --
> Florian