Hi

Am 07.12.20 um 01:49 schrieb Tian Tao:
Using drmm_mode_config_init() sets up managed release of modesetting
resources.
Signed-off-by: Tian Tao <tiant...@hisilicon.com>
---
  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 13 +++----------
  1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 3687753..d631f82 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -96,7 +96,9 @@ static int hibmc_kms_init(struct hibmc_drm_private *priv)
        struct drm_device *dev = &priv->dev;
        int ret;
- drm_mode_config_init(dev);
+       ret = drmm_mode_config_init(dev);
+       if (ret)
+               return ret;
        priv->mode_config_initialized = true;

I think mode_config_initialized is only required by hibmc_kms_finit(), which you remove. You should remove this line and the field from struct hibmc_drm_private.

Best regards
Thomas

dev->mode_config.min_width = 0;
@@ -125,14 +127,6 @@ static int hibmc_kms_init(struct hibmc_drm_private *priv)
        return 0;
  }
-static void hibmc_kms_fini(struct hibmc_drm_private *priv)
-{
-       if (priv->mode_config_initialized) {
-               drm_mode_config_cleanup(&priv->dev);
-               priv->mode_config_initialized = false;
-       }
-}
-
  /*
   * It can operate in one of three modes: 0, 1 or Sleep.
   */
@@ -262,7 +256,6 @@ static int hibmc_unload(struct drm_device *dev)
        drm_atomic_helper_shutdown(dev);
pci_disable_msi(dev->pdev);
-       hibmc_kms_fini(priv);
        dev->dev_private = NULL;
        return 0;
  }


--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to