From: Sean Paul <seanp...@chromium.org>

drm core already tracks this, so we can just lean on that instead of
tracking ourselves.

Signed-off-by: Sean Paul <seanp...@chromium.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c  | 10 ++++++----
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c |  3 ---
 drivers/gpu/drm/msm/dsi/dsi.c            |  2 --
 drivers/gpu/drm/msm/edp/edp.c            |  3 ---
 drivers/gpu/drm/msm/hdmi/hdmi.c          |  3 ---
 drivers/gpu/drm/msm/msm_drv.h            |  3 ---
 drivers/gpu/drm/msm/msm_fbdev.c          |  2 +-
 7 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 8dede6cb9b7d7..4f2fcdfe2644e 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -498,7 +498,8 @@ static void _dpu_kms_drm_obj_destroy(struct dpu_kms 
*dpu_kms)
        struct drm_crtc *crtc;
        struct drm_plane *plane;
        struct drm_encoder *encoder;
-       int i;
+       struct drm_connector_list_iter conn_iter;
+       struct drm_connector *connector;
 
        if (!dpu_kms) {
                DPU_ERROR("invalid dpu_kms\n");
@@ -518,9 +519,10 @@ static void _dpu_kms_drm_obj_destroy(struct dpu_kms 
*dpu_kms)
        drm_for_each_plane(plane, dpu_kms->dev)
                plane->funcs->destroy(plane);
 
-       for (i = 0; i < priv->num_connectors; i++)
-               priv->connectors[i]->funcs->destroy(priv->connectors[i]);
-       priv->num_connectors = 0;
+       drm_connector_list_iter_begin(dpu_kms->dev, &conn_iter);
+       drm_for_each_connector_iter(connector, &conn_iter)
+               connector->funcs->destroy(connector);
+       drm_connector_list_iter_end(&conn_iter);
 
        drm_for_each_encoder(encoder, dpu_kms->dev)
                encoder->funcs->destroy(encoder);
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c 
b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
index 40e2b462a03e1..e86134fed2244 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
@@ -265,9 +265,6 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4_kms,
                        DRM_DEV_ERROR(dev->dev, "failed to initialize LVDS 
connector\n");
                        return PTR_ERR(connector);
                }
-
-               priv->connectors[priv->num_connectors++] = connector;
-
                break;
        case DRM_MODE_ENCODER_TMDS:
                encoder = mdp4_dtv_encoder_init(dev);
diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c
index 97b906a9b3945..e1d990f316732 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -250,8 +250,6 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct 
drm_device *dev,
                goto fail;
        }
 
-       priv->connectors[priv->num_connectors++] = msm_dsi->connector;
-
        return 0;
 fail:
        /* bridge/connector are normally destroyed by drm: */
diff --git a/drivers/gpu/drm/msm/edp/edp.c b/drivers/gpu/drm/msm/edp/edp.c
index 694c2d43011f6..10adf89d5d469 100644
--- a/drivers/gpu/drm/msm/edp/edp.c
+++ b/drivers/gpu/drm/msm/edp/edp.c
@@ -148,7 +148,6 @@ int msm_edp_modeset_init(struct msm_edp *edp, struct 
drm_device *dev,
                                struct drm_encoder *encoder)
 {
        struct platform_device *pdev = edp->pdev;
-       struct msm_drm_private *priv = dev->dev_private;
        int ret;
 
        edp->encoder = encoder;
@@ -188,8 +187,6 @@ int msm_edp_modeset_init(struct msm_edp *edp, struct 
drm_device *dev,
 
        encoder->bridge = edp->bridge;
 
-       priv->connectors[priv->num_connectors++] = edp->connector;
-
        return 0;
 
 fail:
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c
index 1901ae820ef0b..ce564331e6080 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi.c
@@ -291,7 +291,6 @@ static struct hdmi *msm_hdmi_init(struct platform_device 
*pdev)
 int msm_hdmi_modeset_init(struct hdmi *hdmi,
                struct drm_device *dev, struct drm_encoder *encoder)
 {
-       struct msm_drm_private *priv = dev->dev_private;
        struct platform_device *pdev = hdmi->pdev;
        int ret;
 
@@ -340,8 +339,6 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi,
 
        encoder->bridge = hdmi->bridge;
 
-       priv->connectors[priv->num_connectors++] = hdmi->connector;
-
        platform_set_drvdata(pdev, hdmi);
 
        return 0;
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 6cd61199d20a0..6c013addce68c 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -194,9 +194,6 @@ struct msm_drm_private {
        struct msm_drm_thread disp_thread[MAX_CRTCS];
        struct msm_drm_thread event_thread[MAX_CRTCS];
 
-       unsigned int num_connectors;
-       struct drm_connector *connectors[MAX_CONNECTORS];
-
        /* Properties */
        struct drm_property *plane_property[PLANE_PROP_MAX_NUM];
 
diff --git a/drivers/gpu/drm/msm/msm_fbdev.c b/drivers/gpu/drm/msm/msm_fbdev.c
index c03e860ba737f..a62ef39d65f25 100644
--- a/drivers/gpu/drm/msm/msm_fbdev.c
+++ b/drivers/gpu/drm/msm/msm_fbdev.c
@@ -174,7 +174,7 @@ struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev)
 
        drm_fb_helper_prepare(dev, helper, &msm_fb_helper_funcs);
 
-       ret = drm_fb_helper_init(dev, helper, priv->num_connectors);
+       ret = drm_fb_helper_init(dev, helper, dev->mode_config.num_connector);
        if (ret) {
                DRM_DEV_ERROR(dev->dev, "could not init fbdev: ret=%d\n", ret);
                goto fail;
-- 
Sean Paul, Software Engineer, Google / Chromium OS

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to