Messages in this thread | | | Subject | Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional | From | Sergey Shtylyov <> | Date | Wed, 19 Jan 2022 22:49:52 +0300 |
| |
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
| |