summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-pcf857x.c
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2015-06-10 16:05:05 +0300
committerLinus Walleij <linus.walleij@linaro.org>2015-06-11 10:17:32 +0200
commitf35bbf61ab772cc312f64dddd1c89ab161893cee (patch)
tree89ba98840b4d1afcc131f479225a54d2f624d517 /drivers/gpio/gpio-pcf857x.c
parent2b528fff0905497c96566d671d47f2bbf3ae295c (diff)
gpio / ACPI: Return -EPROBE_DEFER if the gpiochip was not found
If a driver requests a GPIO described in its _CRS but the GPIO host controller (gpiochip) driver providing the GPIO has not been loaded yet acpi_get_gpiod() returns -ENODEV which causes the calling driver to fail. If the gpiochip driver is loaded afterwards the driver requesting the GPIO will not notice this. Better approach is to return -EPROBE_DEFER in such case. Then when the gpiochip driver appears the driver requesting the GPIO will be probed again. This also aligns ACPI GPIO lookup code closer to DT as it does pretty much the same when no gpiochip driver was found. Reported-by: Tobias Diedrich <tobiasdiedrich@gmail.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Tobias Diedrich <ranma+kernel@tdiedrich.de> Reviewed-by: Amos Kong <kongjianjun@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-pcf857x.c')
0 files changed, 0 insertions, 0 deletions