Thread (13 messages) flat view 13 messages, 3 authors, 2008-05-02

Re: [PATCH] mpc i2c driver, compare to NO_IRQ instead of zero

From: Jean Delvare <hidden>
Date: 2008-05-02 14:46:23
Also in: linux-i2c

Hi Jon,

On Fri, 2 May 2008 10:23:01 -0400, Jon Smirl wrote:
On 2/19/08, Jean Delvare [off-list ref] wrote:
quoted
 >       i2c->irq = platform_get_irq(pdev, 0);
 > -     if (i2c->irq < 0) {
 > +     if (i2c->irq < NO_IRQ) {


I am skeptical about this one. Can platform_get_irq() really return
 NO_IRQ? I thought that the IRQ resource would be plain missing if the
 device has no IRQ, so I would expect:


        i2c->irq = platform_get_irq(pdev, 0);
        if (i2c->irq < 0)

                i2c->irq = NO_IRQ; /* Use polling */

 Testing against NO_IRQ suggests that devices with no IRQ would still
 have an IRQ resource defined and explicitly set to NO_IRQ. Sounds weird
 to me. Can you please clarify this point?
Your fix is correct. I'm not sure polling worked in the original driver.
OK, can you send an updated patch then?

Thanks.
quoted
 For what it's worth, no other kernel driver checks for irq < NO_IRQ.
 They all check for irq < 0 after calling platform_get_irq().


 >               result = -ENXIO;
 >               goto fail_get_irq;
 >       }
-- 
Jean Delvare
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help