Now that all users migrated to the new drmm_connector_hdmi_init()
signature, vendor and product are provided through struct
drm_connector_hdmi_funcs, a reference to which is already stored in
drm_connector_hdmi.

Drop the redundant fields from drm_connector_hdmi and point its users to
hdmi.funcs->vendor and hdmi.funcs->product instead.

This allows simplifying the related connector registration tests by
getting rid of the now unnecessary KUNIT_EXPECT_MEMEQ() checks.

Tested-by: Diederik de Haas <[email protected]>  # NanoPC-T6 LTS, Rock 5B
Signed-off-by: Cristian Ciocaltea <[email protected]>
---
 drivers/gpu/drm/display/drm_hdmi_state_helper.c |  4 +--
 drivers/gpu/drm/drm_connector.c                 |  4 ---
 drivers/gpu/drm/tests/drm_connector_test.c      | 41 +++----------------------
 include/drm/drm_connector.h                     | 14 ++-------
 4 files changed, 8 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c 
b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
index 04c9e06b9dc1..83a8fcb41343 100644
--- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c
+++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
@@ -784,8 +784,8 @@ static int hdmi_generate_spd_infoframe(const struct 
drm_connector *connector,
                return 0;
 
        ret = hdmi_spd_infoframe_init(frame,
-                                     connector->hdmi.vendor,
-                                     connector->hdmi.product);
+                                     connector->hdmi.funcs->vendor,
+                                     connector->hdmi.funcs->product);
        if (ret)
                return ret;
 
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index b2e8d99c0e9a..f5f38dc4bfa6 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -656,10 +656,6 @@ int drmm_connector_hdmi_init(struct drm_device *dev,
                connector->hdmi.max_tmds_char_rate = 
hdmi_funcs->supported_tmds_char_rate;
        }
 
-       /* TODO: remove after conversion to new drmm_connector_hdmi_init() */
-       strtomem_pad(connector->hdmi.vendor, hdmi_funcs->vendor, 0);
-       strtomem_pad(connector->hdmi.product, hdmi_funcs->product, 0);
-
        /*
         * drm_connector_attach_max_bpc_property() requires the
         * connector to have a state.
diff --git a/drivers/gpu/drm/tests/drm_connector_test.c 
b/drivers/gpu/drm/tests/drm_connector_test.c
index 3d8500ad8be9..42f804500de6 100644
--- a/drivers/gpu/drm/tests/drm_connector_test.c
+++ b/drivers/gpu/drm/tests/drm_connector_test.c
@@ -771,14 +771,11 @@ static void 
drm_test_connector_hdmi_init_null_product(struct kunit *test)
 
 /*
  * Test that the registration of a connector with a valid, shorter than
- * the max length, product name succeeds, and is stored padded with 0.
+ * the max length, product name succeeds.
  */
 static void drm_test_connector_hdmi_init_product_valid(struct kunit *test)
 {
        struct drm_connector_init_priv *priv = test->priv;
-       const unsigned char expected_product[DRM_CONNECTOR_HDMI_PRODUCT_LEN] = {
-               'P', 'r', 'o', 'd',
-       };
        int ret;
 
        priv->hdmi_funcs = dummy_hdmi_funcs;
@@ -793,25 +790,15 @@ static void 
drm_test_connector_hdmi_init_product_valid(struct kunit *test)
                                       DRM_MODE_CONNECTOR_HDMIA,
                                       &priv->ddc);
        KUNIT_EXPECT_EQ(test, ret, 0);
-       KUNIT_EXPECT_MEMEQ(test,
-                          priv->connector.hdmi.product,
-                          expected_product,
-                          sizeof(priv->connector.hdmi.product));
 }
 
 /*
  * Test that the registration of a connector with a valid, at max
- * length, product name succeeds, and is stored padded without any
- * trailing \0.
+ * length, product name succeeds.
  */
 static void drm_test_connector_hdmi_init_product_length_exact(struct kunit 
*test)
 {
        struct drm_connector_init_priv *priv = test->priv;
-       const unsigned char expected_product[DRM_CONNECTOR_HDMI_PRODUCT_LEN] = {
-               'P', 'r', 'o', 'd', 'u', 'c', 't',
-               'P', 'r', 'o', 'd', 'u', 'c', 't',
-               'P', 'r',
-       };
        int ret;
 
        priv->hdmi_funcs = dummy_hdmi_funcs;
@@ -826,10 +813,6 @@ static void 
drm_test_connector_hdmi_init_product_length_exact(struct kunit *test
                                       DRM_MODE_CONNECTOR_HDMIA,
                                       &priv->ddc);
        KUNIT_EXPECT_EQ(test, ret, 0);
-       KUNIT_EXPECT_MEMEQ(test,
-                          priv->connector.hdmi.product,
-                          expected_product,
-                          sizeof(priv->connector.hdmi.product));
 }
 
 /*
@@ -857,14 +840,11 @@ static void 
drm_test_connector_hdmi_init_product_length_too_long(struct kunit *t
 
 /*
  * Test that the registration of a connector with a vendor name smaller
- * than the maximum length succeeds, and is stored padded with zeros.
+ * than the maximum length succeeds.
  */
 static void drm_test_connector_hdmi_init_vendor_valid(struct kunit *test)
 {
        struct drm_connector_init_priv *priv = test->priv;
-       const char expected_vendor[DRM_CONNECTOR_HDMI_VENDOR_LEN] = {
-               'V', 'e', 'n', 'd',
-       };
        int ret;
 
        priv->hdmi_funcs = dummy_hdmi_funcs;
@@ -879,24 +859,15 @@ static void 
drm_test_connector_hdmi_init_vendor_valid(struct kunit *test)
                                       DRM_MODE_CONNECTOR_HDMIA,
                                       &priv->ddc);
        KUNIT_EXPECT_EQ(test, ret, 0);
-       KUNIT_EXPECT_MEMEQ(test,
-                          priv->connector.hdmi.vendor,
-                          expected_vendor,
-                          sizeof(priv->connector.hdmi.vendor));
 }
 
 /*
  * Test that the registration of a connector with a vendor name at the
- * maximum length succeeds, and is stored padded without the trailing
- * zero.
+ * maximum length succeeds.
  */
 static void drm_test_connector_hdmi_init_vendor_length_exact(struct kunit 
*test)
 {
        struct drm_connector_init_priv *priv = test->priv;
-       const char expected_vendor[DRM_CONNECTOR_HDMI_VENDOR_LEN] = {
-               'V', 'e', 'n', 'd', 'o', 'r',
-               'V', 'e',
-       };
        int ret;
 
        priv->hdmi_funcs = dummy_hdmi_funcs;
@@ -911,10 +882,6 @@ static void 
drm_test_connector_hdmi_init_vendor_length_exact(struct kunit *test)
                                       DRM_MODE_CONNECTOR_HDMIA,
                                       &priv->ddc);
        KUNIT_EXPECT_EQ(test, ret, 0);
-       KUNIT_EXPECT_MEMEQ(test,
-                          priv->connector.hdmi.vendor,
-                          expected_vendor,
-                          sizeof(priv->connector.hdmi.vendor));
 }
 
 /*
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 2ad8d1611e84..f7627de624de 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -1418,11 +1418,13 @@ struct drm_connector_infoframe_funcs {
  * and controller capabilities
  */
 struct drm_connector_hdmi_funcs {
+#define DRM_CONNECTOR_HDMI_VENDOR_LEN  8
        /**
         * @vendor: HDMI Controller Vendor name.
         */
        const char *vendor;
 
+#define DRM_CONNECTOR_HDMI_PRODUCT_LEN 16
        /**
         * @product: HDMI Controller Product name
         */
@@ -2123,18 +2125,6 @@ struct drm_connector_hdmi_audio {
  * struct drm_connector_hdmi - DRM Connector HDMI-related structure
  */
 struct drm_connector_hdmi {
-#define DRM_CONNECTOR_HDMI_VENDOR_LEN  8
-       /**
-        * @vendor: HDMI Controller Vendor Name
-        */
-       unsigned char vendor[DRM_CONNECTOR_HDMI_VENDOR_LEN] __nonstring;
-
-#define DRM_CONNECTOR_HDMI_PRODUCT_LEN 16
-       /**
-        * @product: HDMI Controller Product Name
-        */
-       unsigned char product[DRM_CONNECTOR_HDMI_PRODUCT_LEN] __nonstring;
-
        /**
         * @supported_formats: Bitmask of @drm_output_color_format
         * supported by the controller.

-- 
2.55.0

Reply via email to