On 1/19/22 9:58 PM, Andy Shevchenko wrote: [...] >> Because with your change we have: >> >> - < 0 -> error >> - == 0 -> no irq >> - > 0 -> irq >> >> For my part I'd say this doesn't justify the change, but at least I >> could better life with the reasoning. If you start at: >> >> irq = platform_get_irq_optional(...) >> if (irq < 0 && irq != -ENXIO) >> return irq >> else if (irq > 0) >> setup_irq(irq); >> else >> setup_polling() >> >> I'd change that to >> >> irq = platform_get_irq_optional(...) >> if (irq > 0) /* or >= 0 ? */ >> setup_irq(irq) >> else if (irq == -ENXIO) >> setup_polling() >> else >> return irq >> >> This still has to mention -ENXIO, but this is ok and checking for 0 just >> hardcodes a different return value. > > It's what we are against of. The idea is to have > > irq = platform_get_irq_optional(...) > if (irq < 0) // we do not care about special cookies here > return irq; > > if (irq) > setup_irq(irq) > else > setup_polling() > > See the difference? Your code is convoluted. ... and it's longer when you look at the translated code! :-) [...] MBR, Sergey