]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
genirq: Remove IRQ_EDGE_EOI_HANDLER
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 18 Dec 2024 10:55:09 +0000 (21:55 +1100)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Wed, 26 Feb 2025 15:45:09 +0000 (21:15 +0530)
The powerpc Cell blade support, now removed, was the only user of
IRQ_EDGE_EOI_HANDLER, so remove it.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20241218105523.416573-21-mpe@ellerman.id.au
kernel/irq/Kconfig
kernel/irq/chip.c

index 5432418c0feafbf58e88ba6d0f88a28ccda9ebeb..3b8f8fd87ee338863d0bd6532b749811769df1b3 100644 (file)
@@ -51,10 +51,6 @@ config GENERIC_IRQ_INJECTION
 config HARDIRQS_SW_RESEND
        bool
 
-# Edge style eoi based handler (cell)
-config IRQ_EDGE_EOI_HANDLER
-       bool
-
 # Generic configurable interrupt chip implementation
 config GENERIC_IRQ_CHIP
        bool
index c901436ebd9f45f297ce227735590307517994a4..5ce5514ed9d9deee74f4f5ff061c9c695dbf156d 100644 (file)
@@ -838,53 +838,6 @@ out_unlock:
 }
 EXPORT_SYMBOL(handle_edge_irq);
 
-#ifdef CONFIG_IRQ_EDGE_EOI_HANDLER
-/**
- *     handle_edge_eoi_irq - edge eoi type IRQ handler
- *     @desc:  the interrupt description structure for this irq
- *
- * Similar as the above handle_edge_irq, but using eoi and w/o the
- * mask/unmask logic.
- */
-void handle_edge_eoi_irq(struct irq_desc *desc)
-{
-       struct irq_chip *chip = irq_desc_get_chip(desc);
-
-       raw_spin_lock(&desc->lock);
-
-       desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
-
-       if (!irq_may_run(desc)) {
-               desc->istate |= IRQS_PENDING;
-               goto out_eoi;
-       }
-
-       /*
-        * If its disabled or no action available then mask it and get
-        * out of here.
-        */
-       if (irqd_irq_disabled(&desc->irq_data) || !desc->action) {
-               desc->istate |= IRQS_PENDING;
-               goto out_eoi;
-       }
-
-       kstat_incr_irqs_this_cpu(desc);
-
-       do {
-               if (unlikely(!desc->action))
-                       goto out_eoi;
-
-               handle_irq_event(desc);
-
-       } while ((desc->istate & IRQS_PENDING) &&
-                !irqd_irq_disabled(&desc->irq_data));
-
-out_eoi:
-       chip->irq_eoi(&desc->irq_data);
-       raw_spin_unlock(&desc->lock);
-}
-#endif
-
 /**
  *     handle_percpu_irq - Per CPU local irq handler
  *     @desc:  the interrupt description structure for this irq