]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/panel: himax-hx83102: If prepare fails, disable GPIO before regulators
authorDouglas Anderson <dianders@chromium.org>
Fri, 17 May 2024 21:36:41 +0000 (14:36 -0700)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 21 May 2024 08:01:20 +0000 (10:01 +0200)
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: 0ef94554dc40 ("drm/panel: himax-hx83102: 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.6.Id0659a80147cf51e0ebb8fe7fee18db86851960d@changeid
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240517143643.6.Id0659a80147cf51e0ebb8fe7fee18db86851960d@changeid
drivers/gpu/drm/panel/panel-himax-hx83102.c

index 1a6975937f30116162877e9a5e1dfb6390f29c87..4ac7f9d8b232be08a902ff6a8d7cf5a35abaa073 100644 (file)
@@ -578,13 +578,13 @@ static int hx83102_prepare(struct drm_panel *panel)
        return 0;
 
 poweroff:
+       gpiod_set_value(ctx->enable_gpio, 0);
        regulator_disable(ctx->avee);
 poweroffavdd:
        regulator_disable(ctx->avdd);
 poweroff1v8:
        usleep_range(5000, 7000);
        regulator_disable(ctx->pp1800);
-       gpiod_set_value(ctx->enable_gpio, 0);
 
        return ret;
 }