summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Ripard <maxime@cerno.tech>2022-07-11 19:39:31 +0200
committerMaxime Ripard <maxime@cerno.tech>2022-07-13 10:46:12 +0200
commit4e06fd9c7c8a2815c63ff132fd392d76e42436e9 (patch)
tree52c016d0c4cc773bf88cacdede9ef8a6dcf67479
parentf0601ef8631ceeab10c7af69b248fc106e0ecf09 (diff)
downloadlinux-4e06fd9c7c8a2815c63ff132fd392d76e42436e9.tar.bz2
drm/vc4: vec: Switch to devm_pm_runtime_enable
devm_pm_runtime_enable() simplifies the driver a bit since it will call pm_runtime_disable() automatically through a device-managed action. Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220711173939.1132294-62-maxime@cerno.tech
-rw-r--r--drivers/gpu/drm/vc4/vc4_vec.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c
index df6adef96050..d356ffa52866 100644
--- a/drivers/gpu/drm/vc4/vc4_vec.c
+++ b/drivers/gpu/drm/vc4/vc4_vec.c
@@ -583,42 +583,32 @@ static int vc4_vec_bind(struct device *dev, struct device *master, void *data)
return ret;
}
- pm_runtime_enable(dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ return ret;
ret = drmm_encoder_init(drm, &vec->encoder.base,
NULL,
DRM_MODE_ENCODER_TVDAC,
NULL);
if (ret)
- goto err_put_runtime_pm;
+ return ret;
drm_encoder_helper_add(&vec->encoder.base, &vc4_vec_encoder_helper_funcs);
ret = vc4_vec_connector_init(drm, vec);
if (ret)
- goto err_put_runtime_pm;
+ return ret;
dev_set_drvdata(dev, vec);
vc4_debugfs_add_regset32(drm, "vec_regs", &vec->regset);
return 0;
-
-err_put_runtime_pm:
- pm_runtime_disable(dev);
-
- return ret;
-}
-
-static void vc4_vec_unbind(struct device *dev, struct device *master,
- void *data)
-{
- pm_runtime_disable(dev);
}
static const struct component_ops vc4_vec_ops = {
.bind = vc4_vec_bind,
- .unbind = vc4_vec_unbind,
};
static int vc4_vec_dev_probe(struct platform_device *pdev)