[Intel-xe] [PATCH v2 2/2] drm/xe: Call exit functions when xe_register_pci_driver() fails

Matt Atwood matthew.s.atwood at intel.com
Thu May 11 20:38:12 UTC 2023


On Thu, May 11, 2023 at 04:48:22PM -0300, Gustavo Sousa wrote:
> Move xe_register_pci_driver() and xe_unregister_pci_driver() to
> init_funcs to make sure that exit functions are also called when
> xe_register_pci_driver() fails.
> 
> Note that this also allows adding init functions to be run after
> xe_register_pci_driver().
> 
> v2:
>  - Move functions to init_funcs instead of having a special case for
>    xe_register_pci_driver(). (Jani)
> 
> Cc: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Matt Atwood <matthew.s.atwood at intel.com>
> Signed-off-by: Gustavo Sousa <gustavo.sousa at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_module.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
> index 0b4541639bd1..75e5be939f53 100644
> --- a/drivers/gpu/drm/xe/xe_module.c
> +++ b/drivers/gpu/drm/xe/xe_module.c
> @@ -49,6 +49,10 @@ static const struct init_funcs init_funcs[] = {
>  		.init = xe_sched_job_module_init,
>  		.exit = xe_sched_job_module_exit,
>  	},
> +	{
> +		.init = xe_register_pci_driver,
> +		.exit = xe_unregister_pci_driver,
> +	},
>  };
>  
>  static int __init xe_init(void)
> @@ -64,15 +68,13 @@ static int __init xe_init(void)
>  		}
>  	}
>  
> -	return xe_register_pci_driver();
> +	return 0;
>  }
>  
>  static void __exit xe_exit(void)
>  {
>  	int i;
>  
> -	xe_unregister_pci_driver();
> -
>  	for (i = ARRAY_SIZE(init_funcs) - 1; i >= 0; i--)
>  		init_funcs[i].exit();
>  }
> -- 
> 2.40.1
> 


More information about the Intel-xe mailing list