drm/bridge: cdns-mhdp8546: switch to ->edid_read callback
authorJani Nikula <jani.nikula@intel.com>
Tue, 23 Jan 2024 19:37:21 +0000 (21:37 +0200)
committerJani Nikula <jani.nikula@intel.com>
Fri, 9 Feb 2024 08:15:23 +0000 (10:15 +0200)
Prefer using the struct drm_edid based callback and functions.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/88fde35b8d75860d7a2caad94d774aa96b443754.1706038510.git.jani.nikula@intel.com
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c

index 7d47052..e44cb89 100644 (file)
@@ -1505,33 +1505,33 @@ static void cdns_mhdp_link_down(struct cdns_mhdp_device *mhdp)
        mhdp->link_up = false;
 }
 
-static struct edid *cdns_mhdp_get_edid(struct cdns_mhdp_device *mhdp,
-                                      struct drm_connector *connector)
+static const struct drm_edid *cdns_mhdp_edid_read(struct cdns_mhdp_device *mhdp,
+                                                 struct drm_connector *connector)
 {
        if (!mhdp->plugged)
                return NULL;
 
-       return drm_do_get_edid(connector, cdns_mhdp_get_edid_block, mhdp);
+       return drm_edid_read_custom(connector, cdns_mhdp_get_edid_block, mhdp);
 }
 
 static int cdns_mhdp_get_modes(struct drm_connector *connector)
 {
        struct cdns_mhdp_device *mhdp = connector_to_mhdp(connector);
-       struct edid *edid;
+       const struct drm_edid *drm_edid;
        int num_modes;
 
        if (!mhdp->plugged)
                return 0;
 
-       edid = cdns_mhdp_get_edid(mhdp, connector);
-       if (!edid) {
+       drm_edid = cdns_mhdp_edid_read(mhdp, connector);
+       if (!drm_edid) {
                dev_err(mhdp->dev, "Failed to read EDID\n");
                return 0;
        }
 
-       drm_connector_update_edid_property(connector, edid);
-       num_modes = drm_add_edid_modes(connector, edid);
-       kfree(edid);
+       drm_edid_connector_update(connector, drm_edid);
+       num_modes = drm_edid_connector_add_modes(connector);
+       drm_edid_free(drm_edid);
 
        /*
         * HACK: Warn about unsupported display formats until we deal
@@ -2220,12 +2220,12 @@ static enum drm_connector_status cdns_mhdp_bridge_detect(struct drm_bridge *brid
        return cdns_mhdp_detect(mhdp);
 }
 
-static struct edid *cdns_mhdp_bridge_get_edid(struct drm_bridge *bridge,
-                                             struct drm_connector *connector)
+static const struct drm_edid *cdns_mhdp_bridge_edid_read(struct drm_bridge *bridge,
+                                                        struct drm_connector *connector)
 {
        struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
 
-       return cdns_mhdp_get_edid(mhdp, connector);
+       return cdns_mhdp_edid_read(mhdp, connector);
 }
 
 static const struct drm_bridge_funcs cdns_mhdp_bridge_funcs = {
@@ -2239,7 +2239,7 @@ static const struct drm_bridge_funcs cdns_mhdp_bridge_funcs = {
        .atomic_reset = cdns_mhdp_bridge_atomic_reset,
        .atomic_get_input_bus_fmts = cdns_mhdp_get_input_bus_fmts,
        .detect = cdns_mhdp_bridge_detect,
-       .get_edid = cdns_mhdp_bridge_get_edid,
+       .edid_read = cdns_mhdp_bridge_edid_read,
        .hpd_enable = cdns_mhdp_bridge_hpd_enable,
        .hpd_disable = cdns_mhdp_bridge_hpd_disable,
 };