On Sun, Jan 26, 2014 at 10:42:19PM -0800, Guenter Roeck wrote: > On 01/26/2014 10:30 PM, Ezequiel Garcia wrote: > > Hi Guenter, > > > > On Tue, Jan 21, 2014 at 06:31:02AM -0800, Guenter Roeck wrote: > > [..] > >>> @@ -131,6 +138,19 @@ static int orion_wdt_probe(struct platform_device *pdev) > >>> if (!wdt_reg) > >>> return -ENOMEM; > >>> > >>> + irq = platform_get_irq(pdev, 0); > >>> + if (irq > 0) { > >> > >> 0 is a valid interrupt number, and platform_get_irq returns an error code on errors. > >> Should be >= 0. > >> > > > > I'm revisiting this one. I believe this is not the hardware interrupt > > number, but the one mapped into virq space. So, 0 is not a valid > > interrupt number. > > > > Right? > > > > If so, the entire interrupt numbering scheme appears broken. Conceptually it should > not make a difference where the interrupt is coming from. If the virq system > returns 0 for invalid (non-configured) interrupts, and non-configured 'real' > interrupts are reported as -ENXIO, all bets are off. How would a driver know > what to expect ? And how would one be expected to review such non-deterministic > code ? > I wouldn't know that much. I'm just pointing out that '0' doesn't seem to be a valid IRQ number in this context (i.e. virq space). > FWIW, platform_get_irq() does return -ENXIO for invalid interrupts. If there > is an independent notion of "0 is an invalid interrupt", it is well hidden. > Yes, AFAICS platform_get_irq() returns a negative error or a positive irq number. I fail to see how it's able return '0' (of course, I can be wrong). > Anyway, if you think the driver should treat 0 as invalid interrupt, go ahead. > Who am I to know. Just please don't use my Reviewed-by in this case. > Quite frankly not sure how to handle this best. A quick grep through the code doesn't help either: lots of drivers treat 0 as a valid interrupt and lots treat it as invalid. So I guess it doesn't really matter... Can someone shed a light on this? -- Ezequiel García, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html