drm/bridge: analogix_dp: convert to struct drm_edid
authorJani Nikula <jani.nikula@intel.com>
Tue, 14 May 2024 12:55:09 +0000 (15:55 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 27 May 2024 12:31:05 +0000 (15:31 +0300)
Prefer the struct drm_edid based functions for reading the EDID and
updating the connector.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/6f3bd1233a0922551761666f0c96c3766e3c5f96.1715691257.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c

index 7b841232321fc4e73173531983566bcfbd86c02c..9360b63ad37c45b48f95e3dfad8d4849f4b6f6c2 100644 (file)
@@ -1108,7 +1108,7 @@ out:
 static int analogix_dp_get_modes(struct drm_connector *connector)
 {
        struct analogix_dp_device *dp = to_dp(connector);
-       struct edid *edid;
+       const struct drm_edid *drm_edid;
        int ret, num_modes = 0;
 
        if (dp->plat_data->panel) {
@@ -1120,12 +1120,13 @@ static int analogix_dp_get_modes(struct drm_connector *connector)
                        return 0;
                }
 
-               edid = drm_get_edid(connector, &dp->aux.ddc);
-               if (edid) {
-                       drm_connector_update_edid_property(&dp->connector,
-                                                          edid);
-                       num_modes += drm_add_edid_modes(&dp->connector, edid);
-                       kfree(edid);
+               drm_edid = drm_edid_read_ddc(connector, &dp->aux.ddc);
+
+               drm_edid_connector_update(&dp->connector, drm_edid);
+
+               if (drm_edid) {
+                       num_modes += drm_edid_connector_add_modes(&dp->connector);
+                       drm_edid_free(drm_edid);
                }
 
                ret = analogix_dp_prepare_panel(dp, false, false);