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)
commit1dea33e84d33a5220aeda4ca9e918de0fd77c078
tree191f705859d7deb0373c6ae48c617a8131a79a95
parentaefde297da7b07cfc86487400ab3e06cfe6b2856
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: df451f83e1fc ("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