Re: [PATCH v6 4/8] pinctrl: wpcm450: relax return value check for IRQ get
From: Jonathan Cameron
Date: Sun May 28 2023 - 13:01:41 EST
On Fri, 26 May 2023 09:38:05 +0300
Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote:
> 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.
>
> Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
> Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx>
> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
>
Seems fine
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> ---
> Revision history:
> v5 => :
> - No changes
> v4 => v5:
> Fix typo in subject "elax" => "relax"
>
> Please note, I took Linus' reply to v4 cover-letter as ack && added the
> tag. Please let me know if this was not Ok.
>
> The first patch of the series changes the fwnode_irq_get() so this depends
> on the first patch of the series and should not be applied alone.
> ---
> drivers/pinctrl/nuvoton/pinctrl-wpcm450.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c b/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
> index 2d1c1652cfd9..f9326210b5eb 100644
> --- a/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
> +++ b/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
> @@ -1106,8 +1106,6 @@ static int wpcm450_gpio_register(struct platform_device *pdev,
> irq = fwnode_irq_get(child, i);
> if (irq < 0)
> break;
> - if (!irq)
> - continue;
>
> girq->parents[i] = irq;
> girq->num_parents++;