[PATCH -next v3] rtc: fsl-ftm-alarm: Use module_init and add module_exit

From: Zhang Jianhua
Date: Mon Sep 05 2022 - 02:29:49 EST


fsl-ftm-alarm driver can be built out of tree, so change the
macro device_initcall() to module_init() for standard usage.

fsl-ftm-alarm registers a platform driver in module_init function,
however there is no module_exit function to unregister it, and it will
occur resource leak, so add ftm_alarm_exit() function for module_exit.

Signed-off-by: Zhang Jianhua <chris.zjh@xxxxxxxxxx>
---
v3:
- add semicolon after module_init and module_exit to keep the format
consistent
v2:
- modify the commit message for more accurate description
---
drivers/rtc/rtc-fsl-ftm-alarm.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-fsl-ftm-alarm.c b/drivers/rtc/rtc-fsl-ftm-alarm.c
index c0df49fb978c..7fabfc098299 100644
--- a/drivers/rtc/rtc-fsl-ftm-alarm.c
+++ b/drivers/rtc/rtc-fsl-ftm-alarm.c
@@ -332,7 +332,13 @@ static int __init ftm_alarm_init(void)
return platform_driver_register(&ftm_rtc_driver);
}

-device_initcall(ftm_alarm_init);
+static void __exit ftm_alarm_exit(void)
+{
+ platform_driver_unregister(&ftm_rtc_driver);
+}
+
+module_init(ftm_alarm_init);
+module_exit(ftm_alarm_exit);

MODULE_DESCRIPTION("NXP/Freescale FlexTimer alarm driver");
MODULE_AUTHOR("Biwen Li <biwen.li@xxxxxxx>");
--
2.31.0