[Intel-xe] [PATCH v2 2/2] drm/xe: Call exit functions when xe_register_pci_driver() fails
Gustavo Sousa
gustavo.sousa at intel.com
Thu May 11 19:48:22 UTC 2023
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>
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