Re: [PATCH v5 4/8] pinctrl: wpcm450: relax return value check for IRQ get

Matti Vaittinen
2023-05-22T05:16:42Z

On 5/21/23 20:20, andy.shevchenko@gmail.com wrote:
> Fri, May 19, 2023 at 02:02:16PM +0300, Matti Vaittinen kirjoitti:
>> fwnode_irq_get[_byname]() were changed to not return 0 anymore. The
>> special error case where device-tree based IRQ mapping fails can't no
>> longer be reliably detected from this return value. This yields a
>> functional change in the driver where the mapping failure is treated as
>> an error.
>>
>> The mapping failure can occur for example when the device-tree IRQ
>> information translation call-back(s) (xlate) fail, IRQ domain is not
>> found, IRQ type conflicts, etc. In most cases this indicates an error in
>> the device-tree and special handling is not really required.
>>
>> One more thing to note is that ACPI APIs do not return zero for any
>> failures so this special handling did only apply on device-tree based
>> systems.
>>
>> Drop the special (no error, just skip the IRQ) handling for DT mapping
>> failures as these can no longer be separated from other errors at driver
>> side.
>
> ...
>
>> The commit message does not mention if choosing not to abort the probe
>> on device-tree mapping failure (as is done on other errors) was chosen
>> because: a) Abort would have broken some existing setup. b) Because skipping
>> an IRQ on failure is "the right thing to do", or c) because it sounded like
>> a way to minimize risk of breaking something.
>>
>> If the reason is a) - then I'd appreciate receiving some more
>> information and a suggestion how to proceed (if possible). If the reason
>> is b), then it might be best to just skip the IRQ instead of aborting
>> the probe for all errors on IRQ getting. Finally, in case of c), well,
>> by acking this change you will now accept the risk :)
>
> No need to repeat this. As I answered the case c) was in my mind when I made
> that change.

True. I'll drop that if I re-spin. Thanks for pointing it out.

Yours,
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~