drm/panel: panel-simple: Add missing pm_runtime_disable() calls
authorDouglas Anderson <dianders@chromium.org>
Fri, 23 Apr 2021 16:58:47 +0000 (09:58 -0700)
committerDouglas Anderson <dianders@chromium.org>
Fri, 30 Apr 2021 20:24:30 +0000 (13:24 -0700)
In commit 3235b0f20a0a ("drm/panel: panel-simple: Use runtime pm to
avoid excessive unprepare / prepare") we started using pm_runtime, but
my patch neglected to add the proper pm_runtime_disable(). Doh! Add
them now.

Fixes: 3235b0f20a0a ("drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare")
Reported-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210423095743.v5.1.I9e6af2529d6c61e5daf86a15a1211121c5223b9a@changeid
drivers/gpu/drm/panel/panel-simple.c

index 6b22872..9746eda 100644 (file)
@@ -797,12 +797,14 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
 
        err = drm_panel_of_backlight(&panel->base);
        if (err)
-               goto free_ddc;
+               goto disable_pm_runtime;
 
        drm_panel_add(&panel->base);
 
        return 0;
 
+disable_pm_runtime:
+       pm_runtime_disable(dev);
 free_ddc:
        if (panel->ddc)
                put_device(&panel->ddc->dev);
@@ -818,6 +820,7 @@ static int panel_simple_remove(struct device *dev)
        drm_panel_disable(&panel->base);
        drm_panel_unprepare(&panel->base);
 
+       pm_runtime_disable(dev);
        if (panel->ddc)
                put_device(&panel->ddc->dev);