[PATCH 5/9] drm/xe/display: Drop xe_display_driver_remove()

Cavitt, Jonathan jonathan.cavitt at intel.com
Fri Feb 14 22:19:10 UTC 2025


-----Original Message-----
From: Intel-xe <intel-xe-bounces at lists.freedesktop.org> On Behalf Of Lucas De Marchi
Sent: Friday, February 14, 2025 1:23 PM
To: intel-xe at lists.freedesktop.org
Cc: De Marchi, Lucas <lucas.demarchi at intel.com>; Vivi, Rodrigo <rodrigo.vivi at intel.com>; Nikula, Jani <jani.nikula at intel.com>
Subject: [PATCH 5/9] drm/xe/display: Drop xe_display_driver_remove()
> 
> Handle it as part of xe_display_fini(). The error handling was already
> calling it if a step after xe_display_init() failed. Just re-use the
> same xe_display_fini() for driver remove.
> 
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

Looks good to me, though we can probably remove the first
sentence of the commit message as it makes it sound like
we're adding the functionality into xe_display_fini, rather than
leveraging functionality that's already there.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt

> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 11 +----------
>  drivers/gpu/drm/xe/display/xe_display.h |  1 -
>  drivers/gpu/drm/xe/xe_device.c          |  8 ++------
>  3 files changed, 3 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 5ad2c99a9ae74..b7c99b8df11f9 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -170,6 +170,7 @@ static void xe_display_fini(void *arg)
>  	intel_hpd_poll_fini(xe);
>  	intel_hdcp_component_fini(display);
>  	intel_audio_deinit(display);
> +	intel_display_driver_remove(display);
>  }
>  
>  int xe_display_init(struct xe_device *xe)
> @@ -211,16 +212,6 @@ void xe_display_unregister(struct xe_device *xe)
>  	intel_display_driver_unregister(display);
>  }
>  
> -void xe_display_driver_remove(struct xe_device *xe)
> -{
> -	struct intel_display *display = &xe->display;
> -
> -	if (!xe->info.probe_display)
> -		return;
> -
> -	intel_display_driver_remove(display);
> -}
> -
>  /* IRQ-related functions */
>  
>  void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl)
> diff --git a/drivers/gpu/drm/xe/display/xe_display.h b/drivers/gpu/drm/xe/display/xe_display.h
> index 685dc74402fb8..46e14f8dee28a 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.h
> +++ b/drivers/gpu/drm/xe/display/xe_display.h
> @@ -14,7 +14,6 @@ struct drm_driver;
>  
>  bool xe_display_driver_probe_defer(struct pci_dev *pdev);
>  void xe_display_driver_set_hooks(struct drm_driver *driver);
> -void xe_display_driver_remove(struct xe_device *xe);
>  
>  int xe_display_create(struct xe_device *xe);
>  
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 89802f98c4820..d88c0fddf0680 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -868,11 +868,11 @@ int xe_device_probe(struct xe_device *xe)
>  
>  	err = xe_pxp_init(xe);
>  	if (err)
> -		goto err_remove_display;
> +		return err;
>  
>  	err = drm_dev_register(&xe->drm, 0);
>  	if (err)
> -		goto err_remove_display;
> +		return err;
>  
>  	xe_display_register(xe);
>  
> @@ -899,8 +899,6 @@ int xe_device_probe(struct xe_device *xe)
>  
>  err_unregister_display:
>  	xe_display_unregister(xe);
> -err_remove_display:
> -	xe_display_driver_remove(xe);
>  
>  	return err;
>  }
> @@ -911,8 +909,6 @@ void xe_device_remove(struct xe_device *xe)
>  
>  	drm_dev_unplug(&xe->drm);
>  
> -	xe_display_driver_remove(xe);
> -
>  	xe_heci_gsc_fini(xe);
>  }
>  
> -- 
> 2.48.1
> 
> 


More information about the Intel-xe mailing list