2022-09-02 08:25:00

by Zhang Jianhua

[permalink] [raw]
Subject: [PATCH -next v2] rtc: fsl-ftm-alarm: Use module_init and add module_exit

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 <[email protected]>
---
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..28bdc6c97b64 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 <[email protected]>");
--
2.31.0