Re: [PATCH drm/hisilicon v2 1/2] drm/hisilicon: Use managed mode-config init

From: tiantao (H)
Date: Mon Dec 07 2020 - 04:30:51 EST




在 2020/12/7 17:22, Thomas Zimmermann 写道:
Hi

Am 07.12.20 um 10:05 schrieb Tian Tao:
Using drmm_mode_config_init() sets up managed release of modesetting
resources.


Individual patches usually contain a changelog to highlight the difference to previous versions. Please add one before committing the

Just to be sure: I don't need to add a changlog to this individual patch, right?

patch.  Your cover letter for the series already does this correctly.

Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>

Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Thanks for all these updates.

Thank you for your constant help with the review code and your careful guidance!


---
  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 14 +++-----------
  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h |  1 -
  2 files changed, 3 insertions(+), 12 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..7f01213 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -96,8 +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);
-    priv->mode_config_initialized = true;
+    ret = drmm_mode_config_init(dev);
+    if (ret)
+        return ret;
      dev->mode_config.min_width = 0;
      dev->mode_config.min_height = 0;
@@ -125,14 +126,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 +255,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;
  }
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
index a49c10e..7d263f4 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
@@ -42,7 +42,6 @@ struct hibmc_drm_private {
      struct drm_crtc crtc;
      struct drm_encoder encoder;
      struct hibmc_connector connector;
-    bool mode_config_initialized;
  };
  static inline struct hibmc_connector *to_hibmc_connector(struct drm_connector *connector)