drm/arm/hdlcd: remove calls to drm_mode_config_cleanup()

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
This commit is contained in:
Danilo Krummrich 2022-10-26 17:34:31 +02:00 коммит произвёл Liviu Dudau
Родитель 8aa201952d
Коммит 611fc22c9e
1 изменённых файлов: 13 добавлений и 6 удалений

Просмотреть файл

@ -175,14 +175,21 @@ static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
.atomic_commit = drm_atomic_helper_commit, .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_width = 0;
drm->mode_config.min_height = 0; drm->mode_config.min_height = 0;
drm->mode_config.max_width = HDLCD_MAX_XRES; drm->mode_config.max_width = HDLCD_MAX_XRES;
drm->mode_config.max_height = HDLCD_MAX_YRES; drm->mode_config.max_height = HDLCD_MAX_YRES;
drm->mode_config.funcs = &hdlcd_mode_config_funcs; drm->mode_config.funcs = &hdlcd_mode_config_funcs;
return 0;
} }
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
@ -255,7 +262,10 @@ static int hdlcd_drm_bind(struct device *dev)
dev_set_drvdata(dev, drm); 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); ret = hdlcd_load(drm, 0);
if (ret) if (ret)
goto err_free; goto err_free;
@ -314,9 +324,7 @@ err_unload:
hdlcd_irq_uninstall(hdlcd); hdlcd_irq_uninstall(hdlcd);
of_reserved_mem_device_release(drm->dev); of_reserved_mem_device_release(drm->dev);
err_free: err_free:
drm_mode_config_cleanup(drm);
dev_set_drvdata(dev, NULL); dev_set_drvdata(dev, NULL);
return ret; return ret;
} }
@ -337,7 +345,6 @@ static void hdlcd_drm_unbind(struct device *dev)
if (pm_runtime_enabled(dev)) if (pm_runtime_enabled(dev))
pm_runtime_disable(dev); pm_runtime_disable(dev);
of_reserved_mem_device_release(dev); of_reserved_mem_device_release(dev);
drm_mode_config_cleanup(drm);
dev_set_drvdata(dev, NULL); dev_set_drvdata(dev, NULL);
} }