struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   10);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               10,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        preferred = find_preferred_mode(conn);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
 
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   10);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               10,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        preferred = find_preferred_mode(conn);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
 
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB) |
-                                                   BIT(HDMI_COLORSPACE_YUV422) |
-                                                   BIT(HDMI_COLORSPACE_YUV444),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB) |
+                               BIT(HDMI_COLORSPACE_YUV422) |
+                               BIT(HDMI_COLORSPACE_YUV444),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_dvi_1080p);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_dvi_1080p,
-                                ARRAY_SIZE(test_edid_dvi_1080p));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_FALSE(test, info->is_hdmi);
 
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   8);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               8,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        preferred = find_preferred_mode(conn);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
        KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   10);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               10,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        preferred = find_preferred_mode(conn);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
        KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        preferred = find_preferred_mode(conn);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
        KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB) |
-                                                   BIT(HDMI_COLORSPACE_YUV422) |
-                                                   BIT(HDMI_COLORSPACE_YUV444),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB) |
+                               BIT(HDMI_COLORSPACE_YUV422) |
+                               BIT(HDMI_COLORSPACE_YUV444),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB) |
-                                                   BIT(HDMI_COLORSPACE_YUV422) |
-                                                   BIT(HDMI_COLORSPACE_YUV444),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB) |
+                               BIT(HDMI_COLORSPACE_YUV422) |
+                               BIT(HDMI_COLORSPACE_YUV444),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB) |
-                                                   BIT(HDMI_COLORSPACE_YUV422) |
-                                                   BIT(HDMI_COLORSPACE_YUV444),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB) |
+                               BIT(HDMI_COLORSPACE_YUV422) |
+                               BIT(HDMI_COLORSPACE_YUV444),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   8);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               8,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
        struct drm_crtc *crtc;
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB) |
-                                                   BIT(HDMI_COLORSPACE_YUV422) |
-                                                   BIT(HDMI_COLORSPACE_YUV444),
-                                                   12);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB) |
+                               BIT(HDMI_COLORSPACE_YUV422) |
+                               BIT(HDMI_COLORSPACE_YUV444),
+                               12,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_max_340mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        drm = &priv->drm;
        crtc = priv->crtc;
        conn = &priv->connector;
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_max_340mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_340mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        info = &conn->display_info;
        KUNIT_ASSERT_TRUE(test, info->is_hdmi);
        KUNIT_ASSERT_GT(test, info->max_tmds_clock, 0);
 static void drm_test_check_mode_valid_reject_rate(struct kunit *test)
 {
        struct drm_atomic_helper_connector_hdmi_priv *priv;
-       struct drm_connector *conn;
        struct drm_display_mode *preferred;
-       int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init_funcs(test,
-                                                         BIT(HDMI_COLORSPACE_RGB),
-                                                         8,
-                                                         &reject_100mhz_connector_hdmi_funcs);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                                       BIT(HDMI_COLORSPACE_RGB),
+                                       8,
+                                       &reject_100mhz_connector_hdmi_funcs,
+                                       test_edid_hdmi_1080p_rgb_max_200mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
-       conn = &priv->connector;
-
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_max_200mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_200mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        /*
         * Unlike the drm_test_check_mode_valid() here 1080p is rejected, but
         * 480p is allowed.
         */
-       preferred = find_preferred_mode(conn);
+       preferred = find_preferred_mode(&priv->connector);
        KUNIT_ASSERT_NOT_NULL(test, preferred);
        KUNIT_EXPECT_EQ(test, preferred->hdisplay, 640);
        KUNIT_EXPECT_EQ(test, preferred->vdisplay, 480);
        struct drm_atomic_helper_connector_hdmi_priv *priv;
        struct drm_connector *conn;
        struct drm_display_mode *preferred;
+       unsigned char no_edid[] = {};
        int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init_funcs(test,
-                                                         BIT(HDMI_COLORSPACE_RGB),
-                                                         8,
-                                                         &reject_connector_hdmi_funcs);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                                       BIT(HDMI_COLORSPACE_RGB),
+                                       8,
+                                       &reject_connector_hdmi_funcs,
+                                       no_edid);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        conn = &priv->connector;
        struct drm_atomic_helper_connector_hdmi_priv *priv;
        struct drm_connector *conn;
        struct drm_display_mode *preferred;
-       int ret;
 
-       priv = drm_kunit_helper_connector_hdmi_init(test,
-                                                   BIT(HDMI_COLORSPACE_RGB),
-                                                   8);
+       priv = drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test,
+                               BIT(HDMI_COLORSPACE_RGB),
+                               8,
+                               &dummy_connector_hdmi_funcs,
+                               test_edid_hdmi_1080p_rgb_max_100mhz);
        KUNIT_ASSERT_NOT_NULL(test, priv);
 
        conn = &priv->connector;
-
-       ret = set_connector_edid(test, conn,
-                                test_edid_hdmi_1080p_rgb_max_100mhz,
-                                ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_100mhz));
-       KUNIT_ASSERT_GT(test, ret, 0);
-
        KUNIT_ASSERT_EQ(test, conn->display_info.max_tmds_clock, 100 * 1000);
 
        preferred = find_preferred_mode(conn);