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

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: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga dsi video mode panel")
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.2.Ieac346cd0f1606948ba39ceea06b55359fe972b6@changeid
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240517143643.2.Ieac346cd0f1606948ba39ceea06b55359fe972b6@changeid
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c

index 0ffe8f8c01de8602c5dd1452d4a5158c62103360..ce7b4f5ce3faef22651d5afe4725b928d13b0d66 100644 (file)
@@ -1528,13 +1528,13 @@ static int boe_panel_prepare(struct drm_panel *panel)
        return 0;
 
 poweroff:
+       gpiod_set_value(boe->enable_gpio, 0);
        regulator_disable(boe->avee);
 poweroffavdd:
        regulator_disable(boe->avdd);
 poweroff1v8:
        usleep_range(5000, 7000);
        regulator_disable(boe->pp1800);
-       gpiod_set_value(boe->enable_gpio, 0);
 
        return ret;
 }