diff options
| author | Heiko Stuebner <heiko@sntech.de> | 2025-07-07 18:48:54 +0200 |
|---|---|---|
| committer | Heiko Stuebner <heiko@sntech.de> | 2025-08-22 23:00:02 +0200 |
| commit | 6c66eba502709a78281333187c1add7b71f7201f (patch) | |
| tree | 20bf30d3343efea951c82aa52945dd52c94d16fd /drivers/gpu | |
| parent | drm/bridge: simple-bridge: Add support for radxa ra620 (diff) | |
| download | linux-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.c | 12 |
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) |
