On 1/19/22 9:58 PM, Andy Shevchenko wrote:
[...]
Because with your change we have:
- < 0 -> error
- == 0 -> no irq
0 -> irqFor 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