[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