irqchip: Remove asmlinkage for handlers registered with set_handle_irq()
authorJinjie Ruan <ruanjinjie@huawei.com>
Mon, 29 Jul 2024 11:26:06 +0000 (19:26 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 30 Jul 2024 11:35:49 +0000 (13:35 +0200)
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
drivers/irqchip/irq-atmel-aic.c
drivers/irqchip/irq-atmel-aic5.c
drivers/irqchip/irq-clps711x.c
drivers/irqchip/irq-davinci-cp-intc.c
drivers/irqchip/irq-ftintc010.c
drivers/irqchip/irq-gic-v3.c
drivers/irqchip/irq-ixp4xx.c
drivers/irqchip/irq-omap-intc.c
drivers/irqchip/irq-sa11x0.c
drivers/irqchip/irq-versatile-fpga.c

index 4631f68479537b393a45bbfad1d6416115b6dc8f..3839ad79ad31dca00ec41ec990277017700274a6 100644 (file)
@@ -57,8 +57,7 @@
 
 static struct irq_domain *aic_domain;
 
-static asmlinkage void __exception_irq_entry
-aic_handle(struct pt_regs *regs)
+static void __exception_irq_entry aic_handle(struct pt_regs *regs)
 {
        struct irq_domain_chip_generic *dgc = aic_domain->gc;
        struct irq_chip_generic *gc = dgc->gc[0];
index 145535bd756058e60113ee486f73b743aadf9182..c0f55dc7b050dfb6c185e582764af63f42518887 100644 (file)
@@ -67,8 +67,7 @@
 
 static struct irq_domain *aic5_domain;
 
-static asmlinkage void __exception_irq_entry
-aic5_handle(struct pt_regs *regs)
+static void __exception_irq_entry aic5_handle(struct pt_regs *regs)
 {
        struct irq_chip_generic *bgc = irq_get_domain_generic_chip(aic5_domain, 0);
        u32 irqnr;
index e731e0784f7e3e0207a7608665a9fa4c94753147..806ebb1de201a425e16c97a28ab08831ce0fe329 100644 (file)
@@ -69,7 +69,7 @@ static struct {
        struct irq_domain_ops   ops;
 } *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;
 
index 7482c8ed34b23032a3706220bbbf11143542952e..f4f8e9fadbbfb654aad6e7b444c9fff614a39019 100644 (file)
@@ -116,8 +116,7 @@ static struct irq_chip davinci_cp_intc_irq_chip = {
        .flags          = IRQCHIP_SKIP_SET_WAKE,
 };
 
-static asmlinkage void __exception_irq_entry
-davinci_cp_intc_handle_irq(struct pt_regs *regs)
+static void __exception_irq_entry davinci_cp_intc_handle_irq(struct pt_regs *regs)
 {
        int gpir, irqnr, none;
 
index 359efc1d1be73b0e778c3795c4cd510343a4e209..b91c358ea6db17e6a3e5a64296c9bfd696bde459 100644 (file)
@@ -125,7 +125,7 @@ static struct irq_chip ft010_irq_chip = {
 /* Local static for the IRQ entry call */
 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;
        int irq;
index c19083bfb94323715ea4961d74fa5683adddf286..0efa3443c32303eb8ce5cca255765c5bfc44e22c 100644 (file)
@@ -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);
index 5fba907b9052b285545b11effa2d9244a27153d5..f23b02f62a5c3f9d4b50cb4597c8549e69d01f82 100644 (file)
@@ -105,8 +105,7 @@ static void ixp4xx_irq_unmask(struct irq_data *d)
        }
 }
 
-static asmlinkage void __exception_irq_entry
-ixp4xx_handle_irq(struct pt_regs *regs)
+static void __exception_irq_entry ixp4xx_handle_irq(struct pt_regs *regs)
 {
        struct ixp4xx_irq *ixi = &ixirq;
        unsigned long status;
index dc82162ba7631451d485ffe9ec8c5f529923177f..ad84a2f03368aace3c80e6e926c2ff034600bd88 100644 (file)
@@ -325,8 +325,7 @@ static int __init omap_init_irq(u32 base, struct device_node *node)
        return ret;
 }
 
-static asmlinkage void __exception_irq_entry
-omap_intc_handle_irq(struct pt_regs *regs)
+static void __exception_irq_entry omap_intc_handle_irq(struct pt_regs *regs)
 {
        extern unsigned long irq_err_count;
        u32 irqnr;
index 31c202a1ae626b103acb4cbe2bb53d6f8f70ccf9..9d0b80271949d3315ec6e1fa228e5242d1c55962 100644 (file)
@@ -127,8 +127,7 @@ static int __init sa1100irq_init_devicefs(void)
 
 device_initcall(sa1100irq_init_devicefs);
 
-static asmlinkage void __exception_irq_entry
-sa1100_handle_irq(struct pt_regs *regs)
+static void __exception_irq_entry sa1100_handle_irq(struct pt_regs *regs)
 {
        uint32_t icip, icmr, mask;
 
index 5018a06060e65cf85ff284f54ba2ef487538085e..ca471c6fee998b239f0ab32378b5bbfababf1b31 100644 (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
  * 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;