Skip to content

Commit

Permalink
genirq: Remove IRQ_EDGE_EOI_HANDLER
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Michael Ellerman authored and Madhavan Srinivasan committed Feb 26, 2025
1 parent 215bd64 commit 333e8eb
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 51 deletions.
4 changes: 0 additions & 4 deletions kernel/irq/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
47 changes: 0 additions & 47 deletions kernel/irq/chip.c
Original file line number Diff line number Diff line change
Expand Up @@ -838,53 +838,6 @@ void handle_edge_irq(struct irq_desc *desc)
}
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
Expand Down

0 comments on commit 333e8eb

Please sign in to comment.