drm_mode_config_init() simply calls drmm_mode_config_init(), hence
cleanup is automatically handled through registering
drm_mode_config_cleanup() with drmm_add_action_or_reset().

While at it, get rid of the deprecated drm_mode_config_init() and
replace it with drmm_mode_config_init() directly.

Signed-off-by: Danilo Krummrich <d...@redhat.com>
---
 drivers/gpu/drm/arm/malidp_drv.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index 8bb8e8d14461..ef6a9fc1c864 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -401,7 +401,9 @@ static int malidp_init(struct drm_device *drm)
        struct malidp_drm *malidp = drm_to_malidp(drm);
        struct malidp_hw_device *hwdev = malidp->dev;
 
-       drm_mode_config_init(drm);
+       ret = drmm_mode_config_init(drm);
+       if (ret)
+               goto out;
 
        drm->mode_config.min_width = hwdev->min_line_size;
        drm->mode_config.min_height = hwdev->min_line_size;
@@ -412,24 +414,16 @@ static int malidp_init(struct drm_device *drm)
 
        ret = malidp_crtc_init(drm);
        if (ret)
-               goto crtc_fail;
+               goto out;
 
        ret = malidp_mw_connector_init(drm);
        if (ret)
-               goto crtc_fail;
-
-       return 0;
+               goto out;
 
-crtc_fail:
-       drm_mode_config_cleanup(drm);
+out:
        return ret;
 }
 
-static void malidp_fini(struct drm_device *drm)
-{
-       drm_mode_config_cleanup(drm);
-}
-
 static int malidp_irq_init(struct platform_device *pdev)
 {
        int irq_de, irq_se, ret = 0;
@@ -879,7 +873,6 @@ static int malidp_bind(struct device *dev)
 bind_fail:
        of_node_put(malidp->crtc.port);
        malidp->crtc.port = NULL;
-       malidp_fini(drm);
 query_hw_fail:
        pm_runtime_put(dev);
        if (pm_runtime_enabled(dev))
@@ -907,7 +900,6 @@ static void malidp_unbind(struct device *dev)
        component_unbind_all(dev, drm);
        of_node_put(malidp->crtc.port);
        malidp->crtc.port = NULL;
-       malidp_fini(drm);
        pm_runtime_put(dev);
        if (pm_runtime_enabled(dev))
                pm_runtime_disable(dev);
-- 
2.37.3

Reply via email to