]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/bridge/analogix/anx6345: switch to struct drm_edid
authorJani Nikula <jani.nikula@intel.com>
Fri, 10 May 2024 13:26:04 +0000 (16:26 +0300)
committerRobert Foss <rfoss@kernel.org>
Mon, 13 May 2024 17:10:52 +0000 (19:10 +0200)
Prefer struct drm_edid based functions over struct edid.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/74b2f00e17b2614b44955cf0cbae270f3c31d91a.1715347488.git.jani.nikula@intel.com
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c

index cfe43d2ca3be09947d71f9c4cb815ce345bb9b47..b754947e3e001bd388087dd14ecab706eec114f9 100644 (file)
@@ -47,7 +47,7 @@ struct anx6345 {
        struct drm_dp_aux aux;
        struct drm_bridge bridge;
        struct i2c_client *client;
-       struct edid *edid;
+       const struct drm_edid *drm_edid;
        struct drm_connector connector;
        struct drm_panel *panel;
        struct regulator *dvdd12;
@@ -458,7 +458,7 @@ static int anx6345_get_modes(struct drm_connector *connector)
 
        mutex_lock(&anx6345->lock);
 
-       if (!anx6345->edid) {
+       if (!anx6345->drm_edid) {
                if (!anx6345->powered) {
                        anx6345_poweron(anx6345);
                        power_off = true;
@@ -470,19 +470,18 @@ static int anx6345_get_modes(struct drm_connector *connector)
                        goto unlock;
                }
 
-               anx6345->edid = drm_get_edid(connector, &anx6345->aux.ddc);
-               if (!anx6345->edid)
+               anx6345->drm_edid = drm_edid_read_ddc(connector, &anx6345->aux.ddc);
+               if (!anx6345->drm_edid)
                        DRM_ERROR("Failed to read EDID from panel\n");
 
-               err = drm_connector_update_edid_property(connector,
-                                                        anx6345->edid);
+               err = drm_edid_connector_update(connector, anx6345->drm_edid);
                if (err) {
                        DRM_ERROR("Failed to update EDID property: %d\n", err);
                        goto unlock;
                }
        }
 
-       num_modes += drm_add_edid_modes(connector, anx6345->edid);
+       num_modes += drm_edid_connector_add_modes(connector);
 
        /* Driver currently supports only 6bpc */
        connector->display_info.bpc = 6;
@@ -788,7 +787,7 @@ static void anx6345_i2c_remove(struct i2c_client *client)
 
        unregister_i2c_dummy_clients(anx6345);
 
-       kfree(anx6345->edid);
+       drm_edid_free(anx6345->drm_edid);
 
        mutex_destroy(&anx6345->lock);
 }