powerpc: cpm2_pic: Use IRQCHIP_EOI_IF_HANDLED
The core code provides the same functionality when the IRQCHIP_EOI_IF_HANDLED flag is set for the irq chip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Родитель
a28ab38c44
Коммит
7bf811a874
|
@ -115,26 +115,20 @@ static void cpm2_ack(struct irq_data *d)
|
|||
|
||||
static void cpm2_end_irq(struct irq_data *d)
|
||||
{
|
||||
struct irq_desc *desc;
|
||||
int bit, word;
|
||||
unsigned int irq_nr = virq_to_hw(d->irq);
|
||||
|
||||
desc = irq_to_desc(irq_nr);
|
||||
if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))
|
||||
&& desc->action) {
|
||||
bit = irq_to_siubit[irq_nr];
|
||||
word = irq_to_siureg[irq_nr];
|
||||
|
||||
bit = irq_to_siubit[irq_nr];
|
||||
word = irq_to_siureg[irq_nr];
|
||||
ppc_cached_irq_mask[word] |= 1 << bit;
|
||||
out_be32(&cpm2_intctl->ic_simrh + word, ppc_cached_irq_mask[word]);
|
||||
|
||||
ppc_cached_irq_mask[word] |= 1 << bit;
|
||||
out_be32(&cpm2_intctl->ic_simrh + word, ppc_cached_irq_mask[word]);
|
||||
|
||||
/*
|
||||
* Work around large numbers of spurious IRQs on PowerPC 82xx
|
||||
* systems.
|
||||
*/
|
||||
mb();
|
||||
}
|
||||
/*
|
||||
* Work around large numbers of spurious IRQs on PowerPC 82xx
|
||||
* systems.
|
||||
*/
|
||||
mb();
|
||||
}
|
||||
|
||||
static int cpm2_set_irq_type(struct irq_data *d, unsigned int flow_type)
|
||||
|
@ -202,6 +196,7 @@ static struct irq_chip cpm2_pic = {
|
|||
.irq_ack = cpm2_ack,
|
||||
.irq_eoi = cpm2_end_irq,
|
||||
.irq_set_type = cpm2_set_irq_type,
|
||||
.flags = IRQCHIP_EOI_IF_HANDLED,
|
||||
};
|
||||
|
||||
unsigned int cpm2_get_irq(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче