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:
@@ -102,7 +102,7 @@ static void gef_pic_cascade(struct irq_desc *desc)
|
||||
*/
|
||||
cascade_irq = gef_pic_get_irq();
|
||||
|
||||
if (cascade_irq != NO_IRQ)
|
||||
if (cascade_irq)
|
||||
generic_handle_irq(cascade_irq);
|
||||
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
@@ -206,7 +206,7 @@ void __init gef_pic_init(struct device_node *np)
|
||||
|
||||
/* Map controller */
|
||||
gef_pic_cascade_irq = irq_of_parse_and_map(np, 0);
|
||||
if (gef_pic_cascade_irq == NO_IRQ) {
|
||||
if (!gef_pic_cascade_irq) {
|
||||
printk(KERN_ERR "SBC610: failed to map cascade interrupt");
|
||||
return;
|
||||
}
|
||||
@@ -223,12 +223,12 @@ void __init gef_pic_init(struct device_node *np)
|
||||
|
||||
/*
|
||||
* This is called when we receive an interrupt with apparently comes from this
|
||||
* chip - check, returning the highest interrupt generated or return NO_IRQ
|
||||
* chip - check, returning the highest interrupt generated or return 0.
|
||||
*/
|
||||
unsigned int gef_pic_get_irq(void)
|
||||
{
|
||||
u32 cause, mask, active;
|
||||
unsigned int virq = NO_IRQ;
|
||||
unsigned int virq = 0;
|
||||
int hwirq;
|
||||
|
||||
cause = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_STATUS);
|
||||
|
Verwijs in nieuw issue
Block a user