drm/bridge: ti-sn65dsi86: Properly undo autosuspend

The PM Runtime docs say:
  Drivers in ->remove() callback should undo the runtime PM changes done
  in ->probe(). Usually this means calling pm_runtime_disable(),
  pm_runtime_dont_use_autosuspend() etc.

We weren't doing that for autosuspend. Let's do it.

Fixes: 9bede63127 ("drm/bridge: ti-sn65dsi86: Use pm_runtime autosuspend")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222141838.1.If784ba19e875e8ded4ec4931601ce6d255845245@changeid
This commit is contained in:
Douglas Anderson
2022-02-22 14:18:43 -08:00
parent ecbd4912a6
commit 26d3474348

View File

@@ -1802,6 +1802,7 @@ static inline void ti_sn_gpio_unregister(void) {}
static void ti_sn65dsi86_runtime_disable(void *data) static void ti_sn65dsi86_runtime_disable(void *data)
{ {
pm_runtime_dont_use_autosuspend(data);
pm_runtime_disable(data); pm_runtime_disable(data);
} }
@@ -1861,11 +1862,11 @@ static int ti_sn65dsi86_probe(struct i2c_client *client,
"failed to get reference clock\n"); "failed to get reference clock\n");
pm_runtime_enable(dev); pm_runtime_enable(dev);
pm_runtime_set_autosuspend_delay(pdata->dev, 500);
pm_runtime_use_autosuspend(pdata->dev);
ret = devm_add_action_or_reset(dev, ti_sn65dsi86_runtime_disable, dev); ret = devm_add_action_or_reset(dev, ti_sn65dsi86_runtime_disable, dev);
if (ret) if (ret)
return ret; return ret;
pm_runtime_set_autosuspend_delay(pdata->dev, 500);
pm_runtime_use_autosuspend(pdata->dev);
ti_sn65dsi86_debugfs_init(pdata); ti_sn65dsi86_debugfs_init(pdata);