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