Message ID | 830e6e61cf51d43cb7a99b846ab4676823e4e78a.1685082026.git.mazziesaccount@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | fix fwnode_irq_get[_byname()] returnvalue | expand |
On Fri, 26 May 2023 09:38:05 +0300 Matti Vaittinen <mazziesaccount@gmail.com> 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@gmail.com> > Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> > Acked-by: Linus Walleij <linus.walleij@linaro.org> > Seems fine Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > 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++;
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++;