drm/mediatek: use drm_for_each_connector_iter()
authorGustavo Padovan <gustavo.padovan@collabora.com>
Thu, 11 May 2017 19:10:45 +0000 (16:10 -0300)
committerGustavo Padovan <gustavo.padovan@collabora.com>
Fri, 26 May 2017 05:12:33 +0000 (02:12 -0300)
Drop legacy drm_for_each_connector() in favor of the race-free
drm_for_each_connector_iter().

Cc: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170511191049.28944-5-gustavo@padovan.org
drivers/gpu/drm/mediatek/mtk_drm_crtc.c

index 6b08774..6582e1f 100644 (file)
@@ -221,6 +221,7 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
        struct drm_crtc *crtc = &mtk_crtc->base;
        struct drm_connector *connector;
        struct drm_encoder *encoder;
+       struct drm_connector_list_iter conn_iter;
        unsigned int width, height, vrefresh, bpc = MTK_MAX_BPC;
        int ret;
        int i;
@@ -237,13 +238,15 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
                if (encoder->crtc != crtc)
                        continue;
 
-               drm_for_each_connector(connector, crtc->dev) {
+               drm_connector_list_iter_begin(crtc->dev, &conn_iter);
+               drm_for_each_connector_iter(connector, &conn_iter) {
                        if (connector->encoder != encoder)
                                continue;
                        if (connector->display_info.bpc != 0 &&
                            bpc > connector->display_info.bpc)
                                bpc = connector->display_info.bpc;
                }
+               drm_connector_list_iter_end(&conn_iter);
        }
 
        ret = pm_runtime_get_sync(crtc->dev->dev);