struct dp_usbpd *usbpd;
        struct dp_link *link;
        struct dp_panel *panel;
-       struct drm_connector **connector;
+       struct drm_connector *connector;
        struct device *dev;
        struct drm_device *drm_dev;
 
 
 static int dp_test_data_show(struct seq_file *m, void *data)
 {
-       struct drm_device *dev;
-       struct dp_debug_private *debug;
-       struct drm_connector *connector;
-       struct drm_connector_list_iter conn_iter;
+       const struct dp_debug_private *debug = m->private;
+       const struct drm_connector *connector = debug->connector;
        u32 bpc;
 
-       debug = m->private;
-       dev = debug->drm_dev;
-       drm_connector_list_iter_begin(dev, &conn_iter);
-       drm_for_each_connector_iter(connector, &conn_iter) {
-
-               if (connector->connector_type !=
-                       DRM_MODE_CONNECTOR_DisplayPort)
-                       continue;
-
-               if (connector->status == connector_status_connected) {
-                       bpc = debug->link->test_video.test_bit_depth;
-                       seq_printf(m, "hdisplay: %d\n",
-                                       debug->link->test_video.test_h_width);
-                       seq_printf(m, "vdisplay: %d\n",
-                                       debug->link->test_video.test_v_height);
-                       seq_printf(m, "bpc: %u\n",
-                                       dp_link_bit_depth_to_bpc(bpc));
-               } else
-                       seq_puts(m, "0");
+       if (connector->status == connector_status_connected) {
+               bpc = debug->link->test_video.test_bit_depth;
+               seq_printf(m, "hdisplay: %d\n",
+                               debug->link->test_video.test_h_width);
+               seq_printf(m, "vdisplay: %d\n",
+                               debug->link->test_video.test_v_height);
+               seq_printf(m, "bpc: %u\n",
+                               dp_link_bit_depth_to_bpc(bpc));
+       } else {
+               seq_puts(m, "0");
        }
 
-       drm_connector_list_iter_end(&conn_iter);
-
        return 0;
 }
 DEFINE_SHOW_ATTRIBUTE(dp_test_data);
 
 static int dp_test_type_show(struct seq_file *m, void *data)
 {
-       struct dp_debug_private *debug = m->private;
-       struct drm_device *dev = debug->drm_dev;
-       struct drm_connector *connector;
-       struct drm_connector_list_iter conn_iter;
-
-       drm_connector_list_iter_begin(dev, &conn_iter);
-       drm_for_each_connector_iter(connector, &conn_iter) {
-
-               if (connector->connector_type !=
-                       DRM_MODE_CONNECTOR_DisplayPort)
-                       continue;
+       const struct dp_debug_private *debug = m->private;
+       const struct drm_connector *connector = debug->connector;
 
-               if (connector->status == connector_status_connected)
-                       seq_printf(m, "%02x", DP_TEST_LINK_VIDEO_PATTERN);
-               else
-                       seq_puts(m, "0");
-       }
-       drm_connector_list_iter_end(&conn_iter);
+       if (connector->status == connector_status_connected)
+               seq_printf(m, "%02x", DP_TEST_LINK_VIDEO_PATTERN);
+       else
+               seq_puts(m, "0");
 
        return 0;
 }
 {
        char *input_buffer;
        int status = 0;
-       struct dp_debug_private *debug;
-       struct drm_device *dev;
-       struct drm_connector *connector;
-       struct drm_connector_list_iter conn_iter;
+       const struct dp_debug_private *debug;
+       const struct drm_connector *connector;
        int val = 0;
 
        debug = ((struct seq_file *)file->private_data)->private;
-       dev = debug->drm_dev;
+       connector = debug->connector;
 
        if (len == 0)
                return 0;
 
        DRM_DEBUG_DRIVER("Copied %d bytes from user\n", (unsigned int)len);
 
-       drm_connector_list_iter_begin(dev, &conn_iter);
-       drm_for_each_connector_iter(connector, &conn_iter) {
-               if (connector->connector_type !=
-                       DRM_MODE_CONNECTOR_DisplayPort)
-                       continue;
-
-               if (connector->status == connector_status_connected) {
-                       status = kstrtoint(input_buffer, 10, &val);
-                       if (status < 0)
-                               break;
-                       DRM_DEBUG_DRIVER("Got %d for test active\n", val);
-                       /* To prevent erroneous activation of the compliance
-                        * testing code, only accept an actual value of 1 here
-                        */
-                       if (val == 1)
-                               debug->panel->video_test = true;
-                       else
-                               debug->panel->video_test = false;
+       if (connector->status == connector_status_connected) {
+               status = kstrtoint(input_buffer, 10, &val);
+               if (status < 0) {
+                       kfree(input_buffer);
+                       return status;
                }
+               DRM_DEBUG_DRIVER("Got %d for test active\n", val);
+               /* To prevent erroneous activation of the compliance
+                * testing code, only accept an actual value of 1 here
+                */
+               if (val == 1)
+                       debug->panel->video_test = true;
+               else
+                       debug->panel->video_test = false;
        }
-       drm_connector_list_iter_end(&conn_iter);
        kfree(input_buffer);
-       if (status < 0)
-               return status;
 
        *offp += len;
        return len;
 static int dp_test_active_show(struct seq_file *m, void *data)
 {
        struct dp_debug_private *debug = m->private;
-       struct drm_device *dev = debug->drm_dev;
-       struct drm_connector *connector;
-       struct drm_connector_list_iter conn_iter;
-
-       drm_connector_list_iter_begin(dev, &conn_iter);
-       drm_for_each_connector_iter(connector, &conn_iter) {
-               if (connector->connector_type !=
-                       DRM_MODE_CONNECTOR_DisplayPort)
-                       continue;
-
-               if (connector->status == connector_status_connected) {
-                       if (debug->panel->video_test)
-                               seq_puts(m, "1");
-                       else
-                               seq_puts(m, "0");
-               } else
+       struct drm_connector *connector = debug->connector;
+
+       if (connector->status == connector_status_connected) {
+               if (debug->panel->video_test)
+                       seq_puts(m, "1");
+               else
                        seq_puts(m, "0");
+       } else {
+               seq_puts(m, "0");
        }
-       drm_connector_list_iter_end(&conn_iter);
 
        return 0;
 }
 
 struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel,
                struct dp_usbpd *usbpd, struct dp_link *link,
-               struct drm_connector **connector, struct drm_minor *minor)
+               struct drm_connector *connector, struct drm_minor *minor)
 {
        int rc = 0;
        struct dp_debug_private *debug;