[PATCH] drm/tegra: return with probe defer if GPIO subsystem is not ready

From: Stefan Agner
Date: Thu Jul 26 2018 - 09:36:17 EST


If the GPIO subsystem is not ready make sure to return -EPROBE_DEFER
instead of silently continuing without HPD.

Reported-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
---
drivers/gpu/drm/tegra/output.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c
index ffe34bd0bb9d..4bcefe455afd 100644
--- a/drivers/gpu/drm/tegra/output.c
+++ b/drivers/gpu/drm/tegra/output.c
@@ -133,7 +133,9 @@ int tegra_output_probe(struct tegra_output *output)
output->hpd_gpio = of_get_named_gpio_flags(output->of_node,
"nvidia,hpd-gpio", 0,
&output->hpd_gpio_flags);
- if (gpio_is_valid(output->hpd_gpio)) {
+ if (output->hpd_gpio == -EPROBE_DEFER) {
+ return -EPROBE_DEFER;
+ } else if (gpio_is_valid(output->hpd_gpio)) {
unsigned long flags;

err = gpio_request_one(output->hpd_gpio, GPIOF_DIR_IN,
--
2.18.0