Re: [PATCH v2] gpio: vr41xx: Use spurious_interrupt() and export it to modules

From: Florian Fainelli
Date: Tue May 24 2022 - 12:41:46 EST


On 5/23/22 20:28, Genjian Zhang wrote:
From: huhai <huhai@xxxxxxxxxx>

modpost complains once these drivers become modules.
ERROR: modpost: "irq_err_count" [drivers/gpio/gpio-vr41xx.ko] undefined!

Fix it by use spurious_interrupt() and export spurious_interrupt() when
that symbol is =m.

Fixes: 27fdd325dace ("MIPS: Update VR41xx GPIO driver to use gpiolib")
Suggested-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Reported-by: k2ci <kernel-bot@xxxxxxxxxx>
Signed-off-by: huhai <huhai@xxxxxxxxxx>
---
arch/mips/kernel/irq.c | 3 +++
drivers/gpio/gpio-vr41xx.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
index 5e11582fe308..69f9a46bf9e5 100644
--- a/arch/mips/kernel/irq.c
+++ b/arch/mips/kernel/irq.c
@@ -49,6 +49,9 @@ asmlinkage void spurious_interrupt(void)
{
atomic_inc(&irq_err_count);
}
+#ifdef CONFIG_GPIO_VR41XX_MODULE
+EXPORT_SYMBOL_GPL(spurious_interrupt);
+#endif

You should not be exporting for just a specific configuration, export it unconditionally. The generic IRQ layer however prefers to use handle_bad_irq() which is already exported, can you consider using that?
--
Florian