Commit a6c40b80 authored by Linus Walleij's avatar Linus Walleij

drm/mcde: Fix unbalanced regulator

Since we now turn off the EPOD regulator to reset the
hardware, we need to balance the regulators after that
point. If registering the master fails we only need
to disable one regulator. Fix this by open-coding
this leg of the error path.

Fixes: c4842d4d ("drm/mcde: Fix display pipeline restart")
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20201108113535.1819952-1-linus.walleij@linaro.org
parent 06ad8d33
...@@ -413,7 +413,13 @@ static int mcde_probe(struct platform_device *pdev) ...@@ -413,7 +413,13 @@ static int mcde_probe(struct platform_device *pdev)
match); match);
if (ret) { if (ret) {
dev_err(dev, "failed to add component master\n"); dev_err(dev, "failed to add component master\n");
goto clk_disable; /*
* The EPOD regulator is already disabled at this point so some
* special errorpath code is needed
*/
clk_disable_unprepare(mcde->mcde_clk);
regulator_disable(mcde->vana);
return ret;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment