aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2025-07-07 18:48:54 +0200
committerHeiko Stuebner <heiko@sntech.de>2025-08-22 23:00:02 +0200
commit6c66eba502709a78281333187c1add7b71f7201f (patch)
tree20bf30d3343efea951c82aa52945dd52c94d16fd /drivers/gpu
parentdrm/bridge: simple-bridge: Add support for radxa ra620 (diff)
downloadlinux-6c66eba502709a78281333187c1add7b71f7201f.tar.gz
linux-6c66eba502709a78281333187c1add7b71f7201f.zip
drm/panel: ilitek-ili9881c: turn off power-supply when init fails
The prepare function turns on the power-supply regulator first, when preparing the display. But in an error case, just returns the error code, but does not power off the regulator again, fix that. Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20250707164906.1445288-2-heiko@sntech.de
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/panel/panel-ilitek-ili9881c.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
index ac433345a179..3af22a5f5700 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
@@ -1486,7 +1486,7 @@ static int ili9881c_prepare(struct drm_panel *panel)
instr->arg.cmd.data);
if (ret)
- return ret;
+ goto disable_power;
}
ret = ili9881c_switch_page(ctx, 0);
@@ -1498,18 +1498,22 @@ static int ili9881c_prepare(struct drm_panel *panel)
&ctx->address_mode,
sizeof(ctx->address_mode));
if (ret < 0)
- return ret;
+ goto disable_power;
}
ret = mipi_dsi_dcs_set_tear_on(ctx->dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK);
if (ret)
- return ret;
+ goto disable_power;
ret = mipi_dsi_dcs_exit_sleep_mode(ctx->dsi);
if (ret)
- return ret;
+ goto disable_power;
return 0;
+
+disable_power:
+ regulator_disable(ctx->power);
+ return ret;
}
static int ili9881c_enable(struct drm_panel *panel)