drm/ast: Use managed mode-config init
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 2 Jul 2020 11:50:28 +0000 (13:50 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 7 Jul 2020 09:12:03 +0000 (11:12 +0200)
Using drmm_mode_config_init() sets up managed release of modesetting
resources. The existing modesetting's finalizer is empty, so remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200702115029.5281-14-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_drv.h
drivers/gpu/drm/ast/ast_main.c
drivers/gpu/drm/ast/ast_mode.c

index 77226e2..ad1d0b1 100644 (file)
@@ -287,7 +287,6 @@ struct ast_crtc_state {
 #define to_ast_crtc_state(state) container_of(state, struct ast_crtc_state, base)
 
 extern int ast_mode_init(struct drm_device *dev);
-extern void ast_mode_fini(struct drm_device *dev);
 
 #define AST_MM_ALIGN_SHIFT 4
 #define AST_MM_ALIGN_MASK ((1 << AST_MM_ALIGN_SHIFT) - 1)
index 2eab19a..2642e6d 100644 (file)
@@ -473,7 +473,9 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
        if (ret)
                goto out_free;
 
-       drm_mode_config_init(dev);
+       ret = drmm_mode_config_init(dev);
+       if (ret)
+               goto out_free;
 
        dev->mode_config.funcs = (void *)&ast_mode_funcs;
        dev->mode_config.min_width = 0;
@@ -516,8 +518,6 @@ void ast_driver_unload(struct drm_device *dev)
 
        ast_release_firmware(dev);
        kfree(ast->dp501_fw_addr);
-       ast_mode_fini(dev);
-       drm_mode_config_cleanup(dev);
 
        ast_mm_fini(ast);
        kfree(ast);
index 43c9686..33b4b6f 100644 (file)
@@ -1110,10 +1110,6 @@ int ast_mode_init(struct drm_device *dev)
        return 0;
 }
 
-void ast_mode_fini(struct drm_device *dev)
-{
-}
-
 static int get_clock(void *i2c_priv)
 {
        struct ast_i2c_chan *i2c = i2c_priv;