Using drmm_mode_config_init() sets up managed release of modesetting resources.
Signed-off-by: Tian Tao tiantao6@hisilicon.com --- drivers/gpu/drm/qxl/qxl_display.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 012bce0..38d6b59 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1195,7 +1195,9 @@ int qxl_modeset_init(struct qxl_device *qdev) int i; int ret;
- drm_mode_config_init(&qdev->ddev); + ret = drmm_mode_config_init(&qdev->ddev); + if (ret) + return ret;
ret = qxl_create_monitors_object(qdev); if (ret) @@ -1228,5 +1230,4 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { qxl_destroy_monitors_object(qdev); - drm_mode_config_cleanup(&qdev->ddev); }
On Mon, Dec 28, 2020 at 07:04:41PM +0800, Tian Tao wrote:
Using drmm_mode_config_init() sets up managed release of modesetting resources.
Signed-off-by: Tian Tao tiantao6@hisilicon.com
This changes the order of the cleanup actions, so most likely will break really badly. You can only move a cleanup action safely over to drmm_ if it is the last thing (at the time the patch is applied) done before cleanup is finished. There's a _lot_ of code that's run after qxl_modeset_fini. -Daniel
drivers/gpu/drm/qxl/qxl_display.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 012bce0..38d6b59 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1195,7 +1195,9 @@ int qxl_modeset_init(struct qxl_device *qdev) int i; int ret;
- drm_mode_config_init(&qdev->ddev);
ret = drmm_mode_config_init(&qdev->ddev);
if (ret)
return ret;
ret = qxl_create_monitors_object(qdev); if (ret)
@@ -1228,5 +1230,4 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { qxl_destroy_monitors_object(qdev);
- drm_mode_config_cleanup(&qdev->ddev);
}
2.7.4
dri-devel@lists.freedesktop.org