powerpc: Remove all usages of NO_IRQ
NO_IRQ has been == 0 on powerpc for just over ten years (since commit
0ebfff1491
("[POWERPC] Add new interrupt mapping core and change
platforms to use it")). It's also 0 on most other arches.
Although it's fairly harmless, every now and then it causes confusion
when a driver is built on powerpc and another arch which doesn't define
NO_IRQ. There's at least 6 definitions of NO_IRQ in drivers/, at least
some of which are to work around that problem.
So we'd like to remove it. This is fairly trivial in the arch code, we
just convert:
if (irq == NO_IRQ) to if (!irq)
if (irq != NO_IRQ) to if (irq)
irq = NO_IRQ; to irq = 0;
return NO_IRQ; to return 0;
And a few other odd cases as well.
At least for now we keep the #define NO_IRQ, because there is driver
code that uses NO_IRQ and the fixes to remove those will go via other
trees.
Note we also change some occurrences in PPC sound drivers, drivers/ps3,
and drivers/macintosh.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
@@ -181,7 +181,7 @@ unsigned int flipper_pic_get_irq(void)
|
||||
irq_status = in_be32(io_base + FLIPPER_ICR) &
|
||||
in_be32(io_base + FLIPPER_IMR);
|
||||
if (irq_status == 0)
|
||||
return NO_IRQ; /* no more IRQs pending */
|
||||
return 0; /* no more IRQs pending */
|
||||
|
||||
irq = __ffs(irq_status);
|
||||
return irq_linear_revmap(flipper_irq_host, irq);
|
||||
|
@@ -114,7 +114,7 @@ static unsigned int __hlwd_pic_get_irq(struct irq_domain *h)
|
||||
irq_status = in_be32(io_base + HW_BROADWAY_ICR) &
|
||||
in_be32(io_base + HW_BROADWAY_IMR);
|
||||
if (irq_status == 0)
|
||||
return NO_IRQ; /* no more IRQs pending */
|
||||
return 0; /* no more IRQs pending */
|
||||
|
||||
irq = __ffs(irq_status);
|
||||
return irq_linear_revmap(h, irq);
|
||||
@@ -131,7 +131,7 @@ static void hlwd_pic_irq_cascade(struct irq_desc *desc)
|
||||
raw_spin_unlock(&desc->lock);
|
||||
|
||||
virq = __hlwd_pic_get_irq(irq_domain);
|
||||
if (virq != NO_IRQ)
|
||||
if (virq)
|
||||
generic_handle_irq(virq);
|
||||
else
|
||||
pr_err("spurious interrupt!\n");
|
||||
|
@@ -47,7 +47,7 @@ static void mvme5100_8259_cascade(struct irq_desc *desc)
|
||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||
unsigned int cascade_irq = i8259_irq();
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
if (cascade_irq)
|
||||
generic_handle_irq(cascade_irq);
|
||||
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
@@ -84,7 +84,7 @@ static void __init mvme5100_pic_init(void)
|
||||
}
|
||||
|
||||
cirq = irq_of_parse_and_map(cp, 0);
|
||||
if (cirq == NO_IRQ) {
|
||||
if (!cirq) {
|
||||
pr_warn("mvme5100_pic_init: no cascade interrupt?\n");
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user