drivers/irqchip/irq-gic-v3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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.
Fixes: 064dbfb41691 ("arm64: entry: convert IRQ+FIQ handlers to C")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
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);
--
2.34.1
On Sat, 27 Jul 2024 08:36:48 +0100, Jinjie Ruan <ruanjinjie@huawei.com> 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@huawei.com> > --- > 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. M. -- Without deviation from the norm, progress is not possible.
On Sat, 27 Jul 2024 10:35:45 +0100, Marc Zyngier <maz@kernel.org> wrote: > > On Sat, 27 Jul 2024 08:36:48 +0100, > Jinjie Ruan <ruanjinjie@huawei.com> 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@huawei.com> > > --- > > 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.
On Sat, Jul 27 2024 at 15:36, Jinjie Ruan 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. > > Fixes: 064dbfb41691 ("arm64: entry: convert IRQ+FIQ handlers to C") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Right. Can we please fix all of that and be done with it? # git grep -l asmlinkage drivers/irqchip/ | xargs grep set_handle_irq should find the remaining leftovers of asmlinkage. Thanks, tglx
On 2024/7/27 17:25, Thomas Gleixner wrote: > On Sat, Jul 27 2024 at 15:36, Jinjie Ruan 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. >> >> Fixes: 064dbfb41691 ("arm64: entry: convert IRQ+FIQ handlers to C") >> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > > Right. Can we please fix all of that and be done with it? > > # git grep -l asmlinkage drivers/irqchip/ | xargs grep set_handle_irq > > should find the remaining leftovers of asmlinkage. You are right,handle_arch_irq() are all only called in C now, we can all remove the asmlinkage. > > Thanks, > > tglx
© 2016 - 2024 Red Hat, Inc.