Commit abaca317 authored by Robert Hancock's avatar Robert Hancock Committed by Greg Kroah-Hartman

pps: clients: gpio: Propagate return value from pps_gpio_probe

If the pps-gpio driver was probed prior to the GPIO device it uses, the
devm_gpiod_get call returned an -EPROBE_DEFER error, but pps_gpio_probe
replaced that error code with -EINVAL, causing the pps-gpio probe to
fail and not be retried later. Propagate the error return value so that
deferred probe works properly.

Fixes: 16152045 (pps: new client driver using GPIO)
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarRodolfo Giometti <giometti@enneenne.com>
Signed-off-by: default avatarRobert Hancock <robert.hancock@calian.com>
Signed-off-by: default avatarRodolfo Giometti <giometti@enneenne.com>
Link: https://lore.kernel.org/r/20220112205214.2060954-1-robert.hancock@calian.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a74e7263
...@@ -169,7 +169,7 @@ static int pps_gpio_probe(struct platform_device *pdev) ...@@ -169,7 +169,7 @@ static int pps_gpio_probe(struct platform_device *pdev)
/* GPIO setup */ /* GPIO setup */
ret = pps_gpio_setup(dev); ret = pps_gpio_setup(dev);
if (ret) if (ret)
return -EINVAL; return ret;
/* IRQ setup */ /* IRQ setup */
ret = gpiod_to_irq(data->gpio_pin); ret = gpiod_to_irq(data->gpio_pin);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment