lkml.org 
[lkml]   [2022]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/2] platform: make platform_get_irq_optional() optional
From
Date
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

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