Re: [PATCH] irqchip/gic-v3: Remove asmlinkage for gic_handle_irq()
From: Marc Zyngier
Date: Sat Jul 27 2024 - 05:41:08 EST
On Sat, 27 Jul 2024 10:35:45 +0100,
Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
> On Sat, 27 Jul 2024 08:36:48 +0100,
> Jinjie Ruan <ruanjinjie@xxxxxxxxxx> wrote:
> >
> > Since commit 064dbfb41691 ("arm64: entry: convert IRQ+FIQ handlers to C"),
> > the gic_handle_irq() is only called by C functions, so remove
> > the asmlinkage.
>
> You clearly haven't looked very far.
>
> >
> > Fixes: 064dbfb41691 ("arm64: entry: convert IRQ+FIQ handlers to C")
> > Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
> > ---
> > drivers/irqchip/irq-gic-v3.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > index c19083bfb943..0efa3443c323 100644
> > --- a/drivers/irqchip/irq-gic-v3.c
> > +++ b/drivers/irqchip/irq-gic-v3.c
> > @@ -930,7 +930,7 @@ static void __gic_handle_irq_from_irqsoff(struct pt_regs *regs)
> > __gic_handle_nmi(irqnr, regs);
> > }
> >
> > -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs)
> > +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs)
> > {
> > if (unlikely(gic_supports_nmi() && !interrupts_enabled(regs)))
> > __gic_handle_irq_from_irqsoff(regs);
>
> $ git grep handle_arch_irq arch/arm/
> arch/arm/kernel/entry-armv.S: bl generic_handle_arch_irq
> arch/arm/kernel/entry-armv.S: mov_l r0, generic_handle_arch_irq
>
> Until someone rewrites 32bit ARM to have all of its low-level
> interrupt handling in C, this stays. This has no effect on arm64
> anyway.
Scratch that, I misread it. We have an indirection, so this patch is fine.
Apologies for the noise.
M.
--
Without deviation from the norm, progress is not possible.