]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/panel: ilitek-ili9882t: If prepare fails, disable GPIO before regulators
authorDouglas Anderson <dianders@chromium.org>
Fri, 17 May 2024 21:36:39 +0000 (14:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:51 +0000 (08:59 +0200)
[ Upstream commit 554c00181968d43426bfe68c86541b89265075de ]

The enable GPIO should clearly be set low before turning off
regulators. That matches both the inverse order that things were
enabled and also the order in unprepare().

Fixes: e2450d32e5fb ("drm/panel: ili9882t: Break out as separate driver")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240517143643.4.Ieb0179065847972a0f13e9a8574a80a5f65f3338@changeid
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240517143643.4.Ieb0179065847972a0f13e9a8574a80a5f65f3338@changeid
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/panel/panel-ilitek-ili9882t.c

index 267a5307041c9c7cd265ec2c238c44676003f44a..5762eba73955c7dde535ccce517dabfa3924ccc3 100644 (file)
@@ -579,13 +579,13 @@ static int ili9882t_prepare(struct drm_panel *panel)
        return 0;
 
 poweroff:
+       gpiod_set_value(ili->enable_gpio, 0);
        regulator_disable(ili->avee);
 poweroffavdd:
        regulator_disable(ili->avdd);
 poweroff1v8:
        usleep_range(5000, 7000);
        regulator_disable(ili->pp1800);
-       gpiod_set_value(ili->enable_gpio, 0);
 
        return ret;
 }