Skip to content

Commit ef24ba7

Browse files
committed
powerpc: Remove all usages of NO_IRQ
NO_IRQ has been == 0 on powerpc for just over ten years (since commit 0ebfff1 ("[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 <[email protected]>
1 parent 9d82fd2 commit ef24ba7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+204
-200
lines changed

arch/powerpc/include/asm/machdep.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ struct machdep_calls {
6161

6262
void (*init_IRQ)(void);
6363

64-
/* Return an irq, or NO_IRQ to indicate there are none pending. */
64+
/* Return an irq, or 0 to indicate there are none pending. */
6565
unsigned int (*get_irq)(void);
6666

6767
/* PCI stuff */

arch/powerpc/include/asm/mpic_msgr.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ static inline void mpic_msgr_set_destination(struct mpic_msgr *msgr,
122122
* @msgr: the message register whose IRQ is to be returned
123123
*
124124
* Returns the IRQ number associated with the given message register.
125-
* NO_IRQ is returned if this message register is not capable of
126-
* receiving interrupts. What message register can and cannot receive
127-
* interrupts is specified in the device tree for the system.
125+
* 0 is returned if this message register is not capable of receiving
126+
* interrupts. What message register can and cannot receive interrupts is
127+
* specified in the device tree for the system.
128128
*/
129129
static inline int mpic_msgr_get_irq(struct mpic_msgr *msgr)
130130
{

arch/powerpc/include/asm/parport.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ static int parport_pc_find_nonpci_ports (int autoirq, int autodma)
2828
io1 = prop[1]; io2 = prop[2];
2929

3030
virq = irq_of_parse_and_map(np, 0);
31-
if (virq == NO_IRQ)
31+
if (!virq)
3232
continue;
3333

3434
if (parport_pc_probe_port(io1, io2, virq, autodma, NULL, 0)

arch/powerpc/kernel/ibmebus.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ int ibmebus_request_irq(u32 ist, irq_handler_t handler,
227227
{
228228
unsigned int irq = irq_create_mapping(NULL, ist);
229229

230-
if (irq == NO_IRQ)
230+
if (!irq)
231231
return -EINVAL;
232232

233233
return request_irq(irq, handler, irq_flags, devname, dev_id);

arch/powerpc/kernel/irq.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ void __do_irq(struct pt_regs *regs)
519519
may_hard_irq_enable();
520520

521521
/* And finally process it */
522-
if (unlikely(irq == NO_IRQ))
522+
if (unlikely(!irq))
523523
__this_cpu_inc(irq_stat.spurious_irqs);
524524
else
525525
generic_handle_irq(irq);

arch/powerpc/kernel/legacy_serial.c

+7-7
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,10 @@ static int __init add_legacy_soc_port(struct device_node *np,
193193
*/
194194
if (tsi && !strcmp(tsi->type, "tsi-bridge"))
195195
return add_legacy_port(np, -1, UPIO_TSI, addr, addr,
196-
NO_IRQ, legacy_port_flags, 0);
196+
0, legacy_port_flags, 0);
197197
else
198198
return add_legacy_port(np, -1, UPIO_MEM, addr, addr,
199-
NO_IRQ, legacy_port_flags, 0);
199+
0, legacy_port_flags, 0);
200200
}
201201

202202
static int __init add_legacy_isa_port(struct device_node *np,
@@ -242,7 +242,7 @@ static int __init add_legacy_isa_port(struct device_node *np,
242242

243243
/* Add port, irq will be dealt with later */
244244
return add_legacy_port(np, index, UPIO_PORT, be32_to_cpu(reg[1]),
245-
taddr, NO_IRQ, legacy_port_flags, 0);
245+
taddr, 0, legacy_port_flags, 0);
246246

247247
}
248248

@@ -314,7 +314,7 @@ static int __init add_legacy_pci_port(struct device_node *np,
314314
/* Add port, irq will be dealt with later. We passed a translated
315315
* IO port value. It will be fixed up later along with the irq
316316
*/
317-
return add_legacy_port(np, index, iotype, base, addr, NO_IRQ,
317+
return add_legacy_port(np, index, iotype, base, addr, 0,
318318
legacy_port_flags, np != pci_dev);
319319
}
320320
#endif
@@ -462,14 +462,14 @@ static void __init fixup_port_irq(int index,
462462
DBG("fixup_port_irq(%d)\n", index);
463463

464464
virq = irq_of_parse_and_map(np, 0);
465-
if (virq == NO_IRQ && legacy_serial_infos[index].irq_check_parent) {
465+
if (!virq && legacy_serial_infos[index].irq_check_parent) {
466466
np = of_get_parent(np);
467467
if (np == NULL)
468468
return;
469469
virq = irq_of_parse_and_map(np, 0);
470470
of_node_put(np);
471471
}
472-
if (virq == NO_IRQ)
472+
if (!virq)
473473
return;
474474

475475
port->irq = virq;
@@ -543,7 +543,7 @@ static int __init serial_dev_init(void)
543543
struct plat_serial8250_port *port = &legacy_serial_ports[i];
544544
struct device_node *np = legacy_serial_infos[i].np;
545545

546-
if (port->irq == NO_IRQ)
546+
if (!port->irq)
547547
fixup_port_irq(i, np, port);
548548
if (port->iotype == UPIO_PORT)
549549
fixup_port_pio(i, np, port);

arch/powerpc/kernel/pci-common.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ static int pci_read_irq_line(struct pci_dev *pci_dev)
360360
line, pin);
361361

362362
virq = irq_create_mapping(NULL, line);
363-
if (virq != NO_IRQ)
363+
if (virq)
364364
irq_set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
365365
} else {
366366
pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
@@ -369,7 +369,8 @@ static int pci_read_irq_line(struct pci_dev *pci_dev)
369369

370370
virq = irq_create_of_mapping(&oirq);
371371
}
372-
if(virq == NO_IRQ) {
372+
373+
if (!virq) {
373374
pr_debug(" Failed to map !\n");
374375
return -1;
375376
}

arch/powerpc/kernel/pci_of_scan.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
178178
dev->hdr_type = PCI_HEADER_TYPE_NORMAL;
179179
dev->rom_base_reg = PCI_ROM_ADDRESS;
180180
/* Maybe do a default OF mapping here */
181-
dev->irq = NO_IRQ;
181+
dev->irq = 0;
182182
}
183183

184184
of_pci_parse_addrs(node, dev);

arch/powerpc/platforms/44x/warp.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ static void pika_setup_critical_temp(struct device_node *np,
204204
i2c_smbus_write_byte_data(client, 3, 0); /* Tlow */
205205

206206
irq = irq_of_parse_and_map(np, 0);
207-
if (irq == NO_IRQ) {
207+
if (!irq) {
208208
printk(KERN_ERR __FILE__ ": Unable to get ad7414 irq\n");
209209
return;
210210
}

arch/powerpc/platforms/512x/mpc5121_ads_cpld.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ cpld_pic_get_irq(int offset, u8 ignore, u8 __iomem *statusp,
9797
status |= (ignore | mask);
9898

9999
if (status == 0xff)
100-
return NO_IRQ;
100+
return 0;
101101

102102
cpld_irq = ffz(status) + offset;
103103

@@ -110,14 +110,14 @@ static void cpld_pic_cascade(struct irq_desc *desc)
110110

111111
irq = cpld_pic_get_irq(0, PCI_IGNORE, &cpld_regs->pci_status,
112112
&cpld_regs->pci_mask);
113-
if (irq != NO_IRQ) {
113+
if (irq) {
114114
generic_handle_irq(irq);
115115
return;
116116
}
117117

118118
irq = cpld_pic_get_irq(8, MISC_IGNORE, &cpld_regs->misc_status,
119119
&cpld_regs->misc_mask);
120-
if (irq != NO_IRQ) {
120+
if (irq) {
121121
generic_handle_irq(irq);
122122
return;
123123
}
@@ -177,7 +177,7 @@ mpc5121_ads_cpld_pic_init(void)
177177
goto end;
178178

179179
cascade_irq = irq_of_parse_and_map(np, 0);
180-
if (cascade_irq == NO_IRQ)
180+
if (!cascade_irq)
181181
goto end;
182182

183183
/*

arch/powerpc/platforms/512x/mpc512x_lpbfifo.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ static int mpc512x_lpbfifo_probe(struct platform_device *pdev)
473473
}
474474

475475
lpbfifo.irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
476-
if (lpbfifo.irq == NO_IRQ) {
476+
if (!lpbfifo.irq) {
477477
dev_err(&pdev->dev, "mapping irq failed\n");
478478
ret = -ENODEV;
479479
goto err0;

arch/powerpc/platforms/52xx/mpc52xx_pic.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ unsigned int mpc52xx_get_irq(void)
511511
irq |= (MPC52xx_IRQ_L1_PERP << MPC52xx_IRQ_L1_OFFSET);
512512
}
513513
} else {
514-
return NO_IRQ;
514+
return 0;
515515
}
516516

517517
return irq_linear_revmap(mpc52xx_irqhost, irq);

arch/powerpc/platforms/82xx/pq2ads-pci-pic.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ int __init pq2ads_pci_init_irq(void)
131131
}
132132

133133
irq = irq_of_parse_and_map(np, 0);
134-
if (irq == NO_IRQ) {
134+
if (!irq) {
135135
printk(KERN_ERR "No interrupt in pci pic node.\n");
136136
of_node_put(np);
137137
goto out;

arch/powerpc/platforms/83xx/mpc832x_rdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
8989
goto err;
9090

9191
ret = of_irq_to_resource(np, 0, &res[1]);
92-
if (ret == NO_IRQ)
92+
if (!ret)
9393
goto err;
9494

9595
pdev = platform_device_alloc("mpc83xx_spi", i);

arch/powerpc/platforms/83xx/suspend.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ static int pmc_probe(struct platform_device *ofdev)
352352
return -ENODEV;
353353

354354
pmc_irq = irq_of_parse_and_map(np, 0);
355-
if (pmc_irq != NO_IRQ) {
355+
if (pmc_irq) {
356356
ret = request_irq(pmc_irq, pmc_irq_handler, IRQF_SHARED,
357357
"pmc", ofdev);
358358

@@ -400,7 +400,7 @@ static int pmc_probe(struct platform_device *ofdev)
400400
out_pmc:
401401
iounmap(pmc_regs);
402402
out:
403-
if (pmc_irq != NO_IRQ)
403+
if (pmc_irq)
404404
free_irq(pmc_irq, ofdev);
405405

406406
return ret;

arch/powerpc/platforms/85xx/common.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ void __init mpc85xx_cpm2_pic_init(void)
7676
return;
7777
}
7878
irq = irq_of_parse_and_map(np, 0);
79-
if (irq == NO_IRQ) {
79+
if (!irq) {
8080
of_node_put(np);
8181
printk(KERN_ERR "PIC init: got no IRQ for cpm cascade\n");
8282
return;

arch/powerpc/platforms/85xx/mpc85xx_cds.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ static void mpc85xx_8259_cascade_handler(struct irq_desc *desc)
196196
{
197197
unsigned int cascade_irq = i8259_irq();
198198

199-
if (cascade_irq != NO_IRQ)
199+
if (cascade_irq)
200200
/* handle an interrupt from the 8259 */
201201
generic_handle_irq(cascade_irq);
202202

@@ -247,7 +247,7 @@ static int mpc85xx_cds_8259_attach(void)
247247
}
248248

249249
cascade_irq = irq_of_parse_and_map(cascade_node, 0);
250-
if (cascade_irq == NO_IRQ) {
250+
if (!cascade_irq) {
251251
printk(KERN_ERR "Failed to map cascade interrupt\n");
252252
return -ENXIO;
253253
}

arch/powerpc/platforms/85xx/mpc85xx_ds.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ static void mpc85xx_8259_cascade(struct irq_desc *desc)
5151
struct irq_chip *chip = irq_desc_get_chip(desc);
5252
unsigned int cascade_irq = i8259_irq();
5353

54-
if (cascade_irq != NO_IRQ) {
54+
if (cascade_irq) {
5555
generic_handle_irq(cascade_irq);
5656
}
5757
chip->irq_eoi(&desc->irq_data);
@@ -96,7 +96,7 @@ void __init mpc85xx_ds_pic_init(void)
9696
}
9797

9898
cascade_irq = irq_of_parse_and_map(cascade_node, 0);
99-
if (cascade_irq == NO_IRQ) {
99+
if (!cascade_irq) {
100100
printk(KERN_ERR "Failed to map cascade interrupt\n");
101101
return;
102102
}

arch/powerpc/platforms/85xx/socrates_fpga_pic.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsigned int irq)
7878
break;
7979
}
8080
if (i == 3)
81-
return NO_IRQ;
81+
return 0;
8282

8383
raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
8484
cause = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(i));
@@ -103,7 +103,7 @@ static void socrates_fpga_pic_cascade(struct irq_desc *desc)
103103
*/
104104
cascade_irq = socrates_fpga_pic_get_irq(irq);
105105

106-
if (cascade_irq != NO_IRQ)
106+
if (cascade_irq)
107107
generic_handle_irq(cascade_irq);
108108
chip->irq_eoi(&desc->irq_data);
109109
}
@@ -292,7 +292,7 @@ void socrates_fpga_pic_init(struct device_node *pic)
292292

293293
for (i = 0; i < 3; i++) {
294294
socrates_fpga_irqs[i] = irq_of_parse_and_map(pic, i);
295-
if (socrates_fpga_irqs[i] == NO_IRQ) {
295+
if (!socrates_fpga_irqs[i]) {
296296
pr_warning("FPGA PIC: can't get irq%d.\n", i);
297297
continue;
298298
}

arch/powerpc/platforms/86xx/pic.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ static void mpc86xx_8259_cascade(struct irq_desc *desc)
2222
struct irq_chip *chip = irq_desc_get_chip(desc);
2323
unsigned int cascade_irq = i8259_irq();
2424

25-
if (cascade_irq != NO_IRQ)
25+
if (cascade_irq)
2626
generic_handle_irq(cascade_irq);
2727

2828
chip->irq_eoi(&desc->irq_data);
@@ -58,7 +58,7 @@ void __init mpc86xx_init_irq(void)
5858
}
5959

6060
cascade_irq = irq_of_parse_and_map(cascade_node, 0);
61-
if (cascade_irq == NO_IRQ) {
61+
if (!cascade_irq) {
6262
printk(KERN_ERR "Failed to map cascade interrupt\n");
6363
return;
6464
}

arch/powerpc/platforms/8xx/m8xx_setup.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,6 @@ void __init mpc8xx_pics_init(void)
241241
}
242242

243243
irq = cpm_pic_init();
244-
if (irq != NO_IRQ)
244+
if (irq)
245245
irq_set_chained_handler(irq, cpm_cascade);
246246
}

arch/powerpc/platforms/cell/axon_msi.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ static int axon_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
271271

272272
for_each_pci_msi_entry(entry, dev) {
273273
virq = irq_create_direct_mapping(msic->irq_domain);
274-
if (virq == NO_IRQ) {
274+
if (!virq) {
275275
dev_warn(&dev->dev,
276276
"axon_msi: virq allocation failed!\n");
277277
return -1;
@@ -293,7 +293,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev)
293293
dev_dbg(&dev->dev, "axon_msi: tearing down msi irqs\n");
294294

295295
for_each_pci_msi_entry(entry, dev) {
296-
if (entry->irq == NO_IRQ)
296+
if (!entry->irq)
297297
continue;
298298

299299
irq_set_msi_desc(entry->irq, NULL);
@@ -375,7 +375,7 @@ static int axon_msi_probe(struct platform_device *device)
375375
}
376376

377377
virq = irq_of_parse_and_map(dn, 0);
378-
if (virq == NO_IRQ) {
378+
if (!virq) {
379379
printk(KERN_ERR "axon_msi: irq parse and map failed for %s\n",
380380
dn->full_name);
381381
goto out_free_fifo;

arch/powerpc/platforms/cell/interrupt.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ static void iic_ioexc_cascade(struct irq_desc *desc)
123123
unsigned int cirq =
124124
irq_linear_revmap(iic_host,
125125
base | cascade);
126-
if (cirq != NO_IRQ)
126+
if (cirq)
127127
generic_handle_irq(cirq);
128128
}
129129
/* post-ack level interrupts */
@@ -153,10 +153,10 @@ static unsigned int iic_get_irq(void)
153153
*(unsigned long *) &pending =
154154
in_be64((u64 __iomem *) &iic->regs->pending_destr);
155155
if (!(pending.flags & CBE_IIC_IRQ_VALID))
156-
return NO_IRQ;
156+
return 0;
157157
virq = irq_linear_revmap(iic_host, iic_pending_to_hwnum(pending));
158-
if (virq == NO_IRQ)
159-
return NO_IRQ;
158+
if (!virq)
159+
return 0;
160160
iic->eoi_stack[++iic->eoi_ptr] = pending.prio;
161161
BUG_ON(iic->eoi_ptr > 15);
162162
return virq;
@@ -192,7 +192,7 @@ static void iic_request_ipi(int msg)
192192
int virq;
193193

194194
virq = irq_create_mapping(iic_host, iic_msg_to_irq(msg));
195-
if (virq == NO_IRQ) {
195+
if (!virq) {
196196
printk(KERN_ERR
197197
"iic: failed to map IPI %s\n", smp_ipi_name[msg]);
198198
return;
@@ -347,7 +347,7 @@ static int __init setup_iic(void)
347347
cascade |= 1 << IIC_IRQ_CLASS_SHIFT;
348348
cascade |= IIC_UNIT_IIC;
349349
cascade = irq_create_mapping(iic_host, cascade);
350-
if (cascade == NO_IRQ)
350+
if (!cascade)
351351
continue;
352352
/*
353353
* irq_data is a generic pointer that gets passed back

0 commit comments

Comments
 (0)