irqchip: Remove asmlinkage for handlers registered with set_handle_irq()

All architectures with use set_handle_irq() to set the root chip interrupt
handler call that handler from C code, so there's no need for these
handlers to be marked asmlinkage.

Remove asmlinkage for all handlers registered with set_handle_irq().

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/all/20240729112606.1581732-1-ruanjinjie@huawei.com
This commit is contained in:
Jinjie Ruan 2024-07-29 19:26:06 +08:00 committed by Thomas Gleixner
parent 1d07c9a3e7
commit b8fb82e4ff
10 changed files with 10 additions and 16 deletions

View File

@ -57,8 +57,7 @@
static struct irq_domain *aic_domain; static struct irq_domain *aic_domain;
static asmlinkage void __exception_irq_entry static void __exception_irq_entry aic_handle(struct pt_regs *regs)
aic_handle(struct pt_regs *regs)
{ {
struct irq_domain_chip_generic *dgc = aic_domain->gc; struct irq_domain_chip_generic *dgc = aic_domain->gc;
struct irq_chip_generic *gc = dgc->gc[0]; struct irq_chip_generic *gc = dgc->gc[0];

View File

@ -67,8 +67,7 @@
static struct irq_domain *aic5_domain; static struct irq_domain *aic5_domain;
static asmlinkage void __exception_irq_entry static void __exception_irq_entry aic5_handle(struct pt_regs *regs)
aic5_handle(struct pt_regs *regs)
{ {
struct irq_chip_generic *bgc = irq_get_domain_generic_chip(aic5_domain, 0); struct irq_chip_generic *bgc = irq_get_domain_generic_chip(aic5_domain, 0);
u32 irqnr; u32 irqnr;

View File

@ -69,7 +69,7 @@ static struct {
struct irq_domain_ops ops; struct irq_domain_ops ops;
} *clps711x_intc; } *clps711x_intc;
static asmlinkage void __exception_irq_entry clps711x_irqh(struct pt_regs *regs) static void __exception_irq_entry clps711x_irqh(struct pt_regs *regs)
{ {
u32 irqstat; u32 irqstat;

View File

@ -116,8 +116,7 @@ static struct irq_chip davinci_cp_intc_irq_chip = {
.flags = IRQCHIP_SKIP_SET_WAKE, .flags = IRQCHIP_SKIP_SET_WAKE,
}; };
static asmlinkage void __exception_irq_entry static void __exception_irq_entry davinci_cp_intc_handle_irq(struct pt_regs *regs)
davinci_cp_intc_handle_irq(struct pt_regs *regs)
{ {
int gpir, irqnr, none; int gpir, irqnr, none;

View File

@ -125,7 +125,7 @@ static struct irq_chip ft010_irq_chip = {
/* Local static for the IRQ entry call */ /* Local static for the IRQ entry call */
static struct ft010_irq_data firq; static struct ft010_irq_data firq;
static asmlinkage void __exception_irq_entry ft010_irqchip_handle_irq(struct pt_regs *regs) static void __exception_irq_entry ft010_irqchip_handle_irq(struct pt_regs *regs)
{ {
struct ft010_irq_data *f = &firq; struct ft010_irq_data *f = &firq;
int irq; int irq;

View File

@ -930,7 +930,7 @@ static void __gic_handle_irq_from_irqsoff(struct pt_regs *regs)
__gic_handle_nmi(irqnr, 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))) if (unlikely(gic_supports_nmi() && !interrupts_enabled(regs)))
__gic_handle_irq_from_irqsoff(regs); __gic_handle_irq_from_irqsoff(regs);

View File

@ -105,8 +105,7 @@ static void ixp4xx_irq_unmask(struct irq_data *d)
} }
} }
static asmlinkage void __exception_irq_entry static void __exception_irq_entry ixp4xx_handle_irq(struct pt_regs *regs)
ixp4xx_handle_irq(struct pt_regs *regs)
{ {
struct ixp4xx_irq *ixi = &ixirq; struct ixp4xx_irq *ixi = &ixirq;
unsigned long status; unsigned long status;

View File

@ -325,8 +325,7 @@ static int __init omap_init_irq(u32 base, struct device_node *node)
return ret; return ret;
} }
static asmlinkage void __exception_irq_entry static void __exception_irq_entry omap_intc_handle_irq(struct pt_regs *regs)
omap_intc_handle_irq(struct pt_regs *regs)
{ {
extern unsigned long irq_err_count; extern unsigned long irq_err_count;
u32 irqnr; u32 irqnr;

View File

@ -127,8 +127,7 @@ static int __init sa1100irq_init_devicefs(void)
device_initcall(sa1100irq_init_devicefs); device_initcall(sa1100irq_init_devicefs);
static asmlinkage void __exception_irq_entry static void __exception_irq_entry sa1100_handle_irq(struct pt_regs *regs)
sa1100_handle_irq(struct pt_regs *regs)
{ {
uint32_t icip, icmr, mask; uint32_t icip, icmr, mask;

View File

@ -128,7 +128,7 @@ static int handle_one_fpga(struct fpga_irq_data *f, struct pt_regs *regs)
* Keep iterating over all registered FPGA IRQ controllers until there are * Keep iterating over all registered FPGA IRQ controllers until there are
* no pending interrupts. * no pending interrupts.
*/ */
static asmlinkage void __exception_irq_entry fpga_handle_irq(struct pt_regs *regs) static void __exception_irq_entry fpga_handle_irq(struct pt_regs *regs)
{ {
int i, handled; int i, handled;