History

i2c-mpc: Compare to NO_IRQ instead of zero

Alter the mpc i2c driver to use the NO_IRQ symbol instead of the constant zero when checking for valid interrupts. NO_IRQ=-1 on ppc and NO_IRQ=0 on powerpc so the checks against zero are not correct.

Jon Smirl committed 18 years ago

Commit f5fff361 parent 96623691 file · +7 −9Browse files

Unified · Split

drivers/i2c/busses/i2c-mpc.c+7−9
@@ -99,7 +99,7 @@ static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing) · 98 unmodified lines
9999 u32 x;
100100 int result = 0;
101101
102− if (i2c->irq == 0)
102+ if (i2c->irq == NO_IRQ)
103103 {
104104 while (!(readb(i2c->base + MPC_I2C_SR) & CSR_MIF)) {
105105 schedule();
@@ -329,10 +329,9 @@ static int fsl_i2c_probe(struct platform_device *pdev) · 223 unmodified lines
329329 return -ENOMEM;
330330
331331 i2c->irq = platform_get_irq(pdev, 0);
332− if (i2c->irq < 0) {
333− result = -ENXIO;
334− goto fail_get_irq;
335− }
332+ if (i2c->irq < 0)
333+ i2c->irq = NO_IRQ; /* Use polling */
334+
336335 i2c->flags = pdata->device_flags;
337336 init_waitqueue_head(&i2c->queue);
338337
@@ -344,7 +343,7 @@ static int fsl_i2c_probe(struct platform_device *pdev) · 5 unmodified lines
344343 goto fail_map;
345344 }
346345
347− if (i2c->irq != 0)
346+ if (i2c->irq != NO_IRQ)
348347 if ((result = request_irq(i2c->irq, mpc_i2c_isr,
349348 IRQF_SHARED, "i2c-mpc", i2c)) < 0) {
350349 printk(KERN_ERR
@@ -367,12 +366,11 @@ static int fsl_i2c_probe(struct platform_device *pdev) · 16 unmodified lines
367366 return result;
368367
369368 fail_add:
370− if (i2c->irq != 0)
369+ if (i2c->irq != NO_IRQ)
371370 free_irq(i2c->irq, i2c);
372371 fail_irq:
373372 iounmap(i2c->base);
374373 fail_map:
375− fail_get_irq:
376374 kfree(i2c);
377375 return result;
378376 };
@@ -384,7 +382,7 @@ static int fsl_i2c_remove(struct platform_device *pdev) · 5 unmodified lines
384382 i2c_del_adapter(&i2c->adap);
385383 platform_set_drvdata(pdev, NULL);
386384
387− if (i2c->irq != 0)
385+ if (i2c->irq != NO_IRQ)
388386 free_irq(i2c->irq, i2c);
389387
390388 iounmap(i2c->base);