Prefer the struct drm_edid based functions for reading the EDID and
updating the connector.

Signed-off-by: Jani Nikula <jani.nik...@intel.com>

---

Cc: Andrzej Hajda <andrzej.ha...@intel.com>
Cc: Neil Armstrong <neil.armstr...@linaro.org>
Cc: Robert Foss <rf...@kernel.org>
Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Cc: Jonas Karlman <jo...@kwiboo.se>
Cc: Jernej Skrabec <jernej.skra...@gmail.com>
Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
Cc: Maxime Ripard <mrip...@kernel.org>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
---
 .../gpu/drm/bridge/analogix/analogix_dp_core.c    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c 
b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 7b841232321f..9360b63ad37c 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1108,7 +1108,7 @@ static int analogix_dp_prepare_panel(struct 
analogix_dp_device *dp,
 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);
-- 
2.39.2

Reply via email to