drm/arm/hdlcd: remove calls to drm_mode_config_cleanup()
authorDanilo Krummrich <dakr@redhat.com>
Wed, 26 Oct 2022 15:34:31 +0000 (17:34 +0200)
committerLiviu Dudau <liviu.dudau@arm.com>
Mon, 7 Nov 2022 20:47:37 +0000 (20:47 +0000)
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 <dakr@redhat.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221026153431.72033-5-dakr@redhat.com
drivers/gpu/drm/arm/hdlcd_drv.c

index 890cab2..7043d1c 100644 (file)
@@ -175,14 +175,21 @@ static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
        .atomic_commit = drm_atomic_helper_commit,
 };
 
-static void hdlcd_setup_mode_config(struct drm_device *drm)
+static int hdlcd_setup_mode_config(struct drm_device *drm)
 {
-       drm_mode_config_init(drm);
+       int ret;
+
+       ret = drmm_mode_config_init(drm);
+       if (ret)
+               return ret;
+
        drm->mode_config.min_width = 0;
        drm->mode_config.min_height = 0;
        drm->mode_config.max_width = HDLCD_MAX_XRES;
        drm->mode_config.max_height = HDLCD_MAX_YRES;
        drm->mode_config.funcs = &hdlcd_mode_config_funcs;
+
+       return 0;
 }
 
 #ifdef CONFIG_DEBUG_FS
@@ -255,7 +262,10 @@ static int hdlcd_drm_bind(struct device *dev)
 
        dev_set_drvdata(dev, drm);
 
-       hdlcd_setup_mode_config(drm);
+       ret = hdlcd_setup_mode_config(drm);
+       if (ret)
+               goto err_free;
+
        ret = hdlcd_load(drm, 0);
        if (ret)
                goto err_free;
@@ -314,9 +324,7 @@ err_unload:
        hdlcd_irq_uninstall(hdlcd);
        of_reserved_mem_device_release(drm->dev);
 err_free:
-       drm_mode_config_cleanup(drm);
        dev_set_drvdata(dev, NULL);
-
        return ret;
 }
 
@@ -337,7 +345,6 @@ static void hdlcd_drm_unbind(struct device *dev)
        if (pm_runtime_enabled(dev))
                pm_runtime_disable(dev);
        of_reserved_mem_device_release(dev);
-       drm_mode_config_cleanup(drm);
        dev_set_drvdata(dev, NULL);
 }