]> git.baikalelectronics.ru Git - kernel.git/commit
gpiolib: of: fix fallback quirks handling
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 3 Sep 2019 23:18:56 +0000 (16:18 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 10 Sep 2019 10:31:35 +0000 (11:31 +0100)
commitfcfe40bf0a03f43a4bd620c0454473ffda334b1d
tree191f705859d7deb0373c6ae48c617a8131a79a95
parentec92ed63c03f4a88371d4f1dcbaa0b9bb01143cd
gpiolib: of: fix fallback quirks handling

We should only try to execute fallback quirks handling when previous
call returned -ENOENT, and not when we did not get -EPROBE_DEFER.
The other errors should be treated as hard errors: we did find the GPIO
description, but for some reason we failed to handle it properly.

The fallbacks should only be executed when previous handlers returned
-ENOENT, which means the mapping/description was not found.

Also let's remove the explicit deferral handling when iterating through
GPIO suffixes: it is not needed anymore as we will not be calling
fallbacks for anything but -ENOENT.

Fixes: 269a0f6620d6 ("gpio: of: fix Freescale SPI CS quirk handling")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20190903231856.GA165165@dtor-ws
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib-of.c