Re: [PATCH RESEND 2/2] drm/amdgpu/amdgpu_connectors: remove amdgpu_connector_free_edid

2026-03-05 Thread Alex Deucher
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

2026-03-03 Thread Joshua Peisach
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