lkml.org 
[lkml]   [2022]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] platform: make platform_get_irq_optional() optional
On Mon, Jan 17, 2022 at 09:47:32AM +0100, Uwe Kleine-König wrote:
> On Sun, Jan 16, 2022 at 09:15:20PM +0300, Sergey Shtylyov 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.

> Anyhow, I think if you still want to change platform_get_irq_optional
> you should add a few patches converting some drivers which demonstrates
> the improvement for the callers.



--
With Best Regards,
Andy Shevchenko


\
 
 \ /
  Last update: 2022-01-19 20:20    [W:0.216 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site