[PATCH] irqchip/dw-apb-ictl: fix compilation on x86

Rosen Penev posted 1 patch 5 days, 23 hours ago
drivers/irqchip/irq-dw-apb-ictl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] irqchip/dw-apb-ictl: fix compilation on x86
Posted by Rosen Penev 5 days, 23 hours ago
__irq_entry belongs nowhere in irqchip drivers as it is an
architecture specific annotation. There's no specific architecture
depends for DW_APB_ICTL and there probably shouldn't be.

Fixes:

drivers/irqchip/irq-dw-apb-ictl.c:33:13: error: variable has incomplete type 'void'
   33 | static void __irq_entry dw_apb_ictl_handle_irq(struct pt_regs *regs)
      |             ^
./arch/x86/include/asm/irq.h:19:21: note: expanded from macro '__irq_entry'
   19 | #define __irq_entry __invalid_section
      |                     ^
drivers/irqchip/irq-dw-apb-ictl.c:33:24: error: expected ';' after top level declarator
   33 | static void __irq_entry dw_apb_ictl_handle_irq(struct pt_regs *regs)
      |                        ^
      |                        ;
  CC      drivers/bus/fsl-mc/dpcon.o
drivers/irqchip/irq-dw-apb-ictl.c:205:18: error: use of undeclared identifier 'dw_apb_ictl_handle_irq'
  205 |                 set_handle_irq(dw_apb_ictl_handle_irq);
      |                                ^~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/irqchip/irq-dw-apb-ictl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c
index 4240a0dbf627..2cf82bdd720f 100644
--- a/drivers/irqchip/irq-dw-apb-ictl.c
+++ b/drivers/irqchip/irq-dw-apb-ictl.c
@@ -30,7 +30,7 @@
 /* irq domain of the primary interrupt controller. */
 static struct irq_domain *dw_apb_ictl_irq_domain;
 
-static void __irq_entry dw_apb_ictl_handle_irq(struct pt_regs *regs)
+static void dw_apb_ictl_handle_irq(struct pt_regs *regs)
 {
 	struct irq_domain *d = dw_apb_ictl_irq_domain;
 	int n;
-- 
2.54.0
Re: [PATCH] irqchip/dw-apb-ictl: fix compilation on x86
Posted by Thomas Gleixner 5 days, 9 hours ago
On Mon, May 18 2026 at 19:57, Rosen Penev wrote:
> __irq_entry belongs nowhere in irqchip drivers as it is an
> architecture specific annotation. There's no specific architecture
> depends for DW_APB_ICTL and there probably shouldn't be.

Care to see how that driver is selected? Certainly not by x86.

> Fixes:
>
> drivers/irqchip/irq-dw-apb-ictl.c:33:13: error: variable has incomplete type 'void'
>    33 | static void __irq_entry dw_apb_ictl_handle_irq(struct pt_regs *regs)

That's fixing nothing because the driver cannot be built on x86 and the
architectures which select it have a reason to move the handler into the
irqentry.text section via __irq_entry.

I'm slowly getting fed up by the AI slob which ends up in my inbox every
other day.

Thanks,

        tglx
Re: [PATCH] irqchip/dw-apb-ictl: fix compilation on x86
Posted by Rosen Penev 5 days, 4 hours ago
On Tue, May 19, 2026 at 10:16 AM Thomas Gleixner <tglx@kernel.org> wrote:
>
> On Mon, May 18 2026 at 19:57, Rosen Penev wrote:
> > __irq_entry belongs nowhere in irqchip drivers as it is an
> > architecture specific annotation. There's no specific architecture
> > depends for DW_APB_ICTL and there probably shouldn't be.
>
> Care to see how that driver is selected? Certainly not by x86.
make LLVM=1 ARCH=i386 allmodconfig
make LLVM=1 ARCH=i386 -j 31
>
> > Fixes:
> >
> > drivers/irqchip/irq-dw-apb-ictl.c:33:13: error: variable has incomplete type 'void'
> >    33 | static void __irq_entry dw_apb_ictl_handle_irq(struct pt_regs *regs)
>
> That's fixing nothing because the driver cannot be built on x86 and the
> architectures which select it have a reason to move the handler into the
> irqentry.text section via __irq_entry.
>
> I'm slowly getting fed up by the AI slob which ends up in my inbox every
> other day.
This was not detected by AI. Note the lack of an assisted-by tag.
>
> Thanks,
>
>         tglx
>
>
>
Re: [PATCH] irqchip/dw-apb-ictl: fix compilation on x86
Posted by Thomas Gleixner 4 days, 17 hours ago
On Tue, May 19 2026 at 14:22, Rosen Penev wrote:
> On Tue, May 19, 2026 at 10:16 AM Thomas Gleixner <tglx@kernel.org> wrote:
>>
>> On Mon, May 18 2026 at 19:57, Rosen Penev wrote:
>> > __irq_entry belongs nowhere in irqchip drivers as it is an
>> > architecture specific annotation. There's no specific architecture
>> > depends for DW_APB_ICTL and there probably shouldn't be.
>>
>> Care to see how that driver is selected? Certainly not by x86.
> make LLVM=1 ARCH=i386 allmodconfig
> make LLVM=1 ARCH=i386 -j 31

How does that select the config symbol?

Makefile:

obj-$(CONFIG_DW_APB_ICTL)               += irq-dw-apb-ictl.o

Kconfig:

config DW_APB_ICTL
        bool
        select GENERIC_IRQ_CHIP
        select IRQ_DOMAIN_HIERARCHY

# git grep DW_APB_ICTL

arch/arc/plat-axs10x/Kconfig:   select DW_APB_ICTL
arch/arm/mach-berlin/Kconfig:   select DW_APB_ICTL
arch/arm/mach-hisi/Kconfig:     select DW_APB_ICTL
arch/arm64/Kconfig.platforms:   select DW_APB_ICTL
arch/csky/Kconfig.platforms:    select DW_APB_ICTL

i386 definitely does not select it.

# grep DW_APB_ICTL ../build-386/.config
#