Re: [PATCH RESEND 2/2] drm/amdgpu/amdgpu_connectors: remove amdgpu_connector_free_edid
Applied the series. Thanks!
Alex
On Tue, Mar 3, 2026 at 4:19 PM Joshua Peisach wrote:
>
> Now that we are using struct drm_edid, we can just call drm_edid_free
> directly. Remove the function and update calls to drm_edid_free.
>
> Signed-off-by: Joshua Peisach
> ---
> .../gpu/drm/amd/amdgpu/amdgpu_connectors.c| 22 ++-
> 1 file changed, 7 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> index 6336cadad..aabe9d58c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> @@ -297,14 +297,6 @@ static void amdgpu_connector_get_edid(struct
> drm_connector *connector)
> }
> }
>
> -static void amdgpu_connector_free_edid(struct drm_connector *connector)
> -{
> - struct amdgpu_connector *amdgpu_connector =
> to_amdgpu_connector(connector);
> -
> - kfree(amdgpu_connector->edid);
> - amdgpu_connector->edid = NULL;
> -}
> -
> static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector)
> {
> struct amdgpu_connector *amdgpu_connector =
> to_amdgpu_connector(connector);
> @@ -754,7 +746,7 @@ static void amdgpu_connector_destroy(struct drm_connector
> *connector)
> {
> struct amdgpu_connector *amdgpu_connector =
> to_amdgpu_connector(connector);
>
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
> kfree(amdgpu_connector->con_priv);
> drm_connector_unregister(connector);
> drm_connector_cleanup(connector);
> @@ -873,7 +865,7 @@ amdgpu_connector_vga_detect(struct drm_connector
> *connector, bool force)
> dret = amdgpu_display_ddc_probe(amdgpu_connector, false);
> if (dret) {
> amdgpu_connector->detected_by_load = false;
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
> amdgpu_connector_get_edid(connector);
>
> if (!amdgpu_connector->edid) {
> @@ -889,7 +881,7 @@ amdgpu_connector_vga_detect(struct drm_connector
> *connector, bool force)
> * with a shared ddc line (often vga + hdmi)
> */
> if (amdgpu_connector->use_digital &&
> amdgpu_connector->shared_ddc) {
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
> ret = connector_status_disconnected;
> } else {
> ret = connector_status_connected;
> @@ -984,7 +976,7 @@ static void amdgpu_connector_shared_ddc(enum
> drm_connector_status *status,
> /* hpd is our only option in this
> case */
> if (!amdgpu_display_hpd_sense(adev,
>
> amdgpu_connector->hpd.hpd)) {
> -
> amdgpu_connector_free_edid(connector);
> +
> drm_edid_free(amdgpu_connector->edid);
> *status =
> connector_status_disconnected;
> }
> }
> @@ -1053,7 +1045,7 @@ amdgpu_connector_dvi_detect(struct drm_connector
> *connector, bool force)
> }
> if (dret) {
> amdgpu_connector->detected_by_load = false;
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
> amdgpu_connector_get_edid(connector);
>
> if (!amdgpu_connector->edid) {
> @@ -1069,7 +1061,7 @@ amdgpu_connector_dvi_detect(struct drm_connector
> *connector, bool force)
> * with a shared ddc line (often vga + hdmi)
> */
> if ((!amdgpu_connector->use_digital) &&
> amdgpu_connector->shared_ddc) {
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
> ret = connector_status_disconnected;
> } else {
> ret = connector_status_connected;
> @@ -1417,7 +1409,7 @@ amdgpu_connector_dp_detect(struct drm_connector
> *connector, bool force)
> goto out;
> }
>
> - amdgpu_connector_free_edid(connector);
> + drm_edid_free(amdgpu_connector->edid);
>
> if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) ||
> (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) {
> --
> 2.51.0
>
[PATCH RESEND 2/2] drm/amdgpu/amdgpu_connectors: remove amdgpu_connector_free_edid
Now that we are using struct drm_edid, we can just call drm_edid_free
directly. Remove the function and update calls to drm_edid_free.
Signed-off-by: Joshua Peisach
---
.../gpu/drm/amd/amdgpu/amdgpu_connectors.c| 22 ++-
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
index 6336cadad..aabe9d58c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
@@ -297,14 +297,6 @@ static void amdgpu_connector_get_edid(struct drm_connector
*connector)
}
}
-static void amdgpu_connector_free_edid(struct drm_connector *connector)
-{
- struct amdgpu_connector *amdgpu_connector =
to_amdgpu_connector(connector);
-
- kfree(amdgpu_connector->edid);
- amdgpu_connector->edid = NULL;
-}
-
static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector)
{
struct amdgpu_connector *amdgpu_connector =
to_amdgpu_connector(connector);
@@ -754,7 +746,7 @@ static void amdgpu_connector_destroy(struct drm_connector
*connector)
{
struct amdgpu_connector *amdgpu_connector =
to_amdgpu_connector(connector);
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
kfree(amdgpu_connector->con_priv);
drm_connector_unregister(connector);
drm_connector_cleanup(connector);
@@ -873,7 +865,7 @@ amdgpu_connector_vga_detect(struct drm_connector
*connector, bool force)
dret = amdgpu_display_ddc_probe(amdgpu_connector, false);
if (dret) {
amdgpu_connector->detected_by_load = false;
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
amdgpu_connector_get_edid(connector);
if (!amdgpu_connector->edid) {
@@ -889,7 +881,7 @@ amdgpu_connector_vga_detect(struct drm_connector
*connector, bool force)
* with a shared ddc line (often vga + hdmi)
*/
if (amdgpu_connector->use_digital &&
amdgpu_connector->shared_ddc) {
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
ret = connector_status_disconnected;
} else {
ret = connector_status_connected;
@@ -984,7 +976,7 @@ static void amdgpu_connector_shared_ddc(enum
drm_connector_status *status,
/* hpd is our only option in this case
*/
if (!amdgpu_display_hpd_sense(adev,
amdgpu_connector->hpd.hpd)) {
-
amdgpu_connector_free_edid(connector);
+
drm_edid_free(amdgpu_connector->edid);
*status =
connector_status_disconnected;
}
}
@@ -1053,7 +1045,7 @@ amdgpu_connector_dvi_detect(struct drm_connector
*connector, bool force)
}
if (dret) {
amdgpu_connector->detected_by_load = false;
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
amdgpu_connector_get_edid(connector);
if (!amdgpu_connector->edid) {
@@ -1069,7 +1061,7 @@ amdgpu_connector_dvi_detect(struct drm_connector
*connector, bool force)
* with a shared ddc line (often vga + hdmi)
*/
if ((!amdgpu_connector->use_digital) &&
amdgpu_connector->shared_ddc) {
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
ret = connector_status_disconnected;
} else {
ret = connector_status_connected;
@@ -1417,7 +1409,7 @@ amdgpu_connector_dp_detect(struct drm_connector
*connector, bool force)
goto out;
}
- amdgpu_connector_free_edid(connector);
+ drm_edid_free(amdgpu_connector->edid);
if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) ||
(connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) {
--
2.51.0
