clocksource: em_sti: Set initcall level to subsys
authorSimon Horman <horms+renesas@verge.net.au>
Tue, 5 Mar 2013 06:40:42 +0000 (15:40 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 12 Mar 2013 17:24:36 +0000 (02:24 +0900)
The reason for this is to ensure that STI is probed earlier
than with its previous initcall level, module init.

This came up as a problem with using CMT as a clock source kzm9g-reference
which does not make use of early timers or devices. In that scenario
initialisation of SDHI and MMCIF both stall on msleep() calls due to the
absence of a initialised clock source.

The purpose of this change is to keep the STI code in sync with the CMT code
which has been modified in a similar manner..

Boot tested on: kzm9d.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/clocksource/em_sti.c

index e6a553cb73e807545270e3a873295b8b88dfc907..4329a29a5310d046eaedc12cd14229791c6e14f1 100644 (file)
@@ -399,7 +399,18 @@ static struct platform_driver em_sti_device_driver = {
        }
 };
 
-module_platform_driver(em_sti_device_driver);
+static int __init em_sti_init(void)
+{
+       return platform_driver_register(&em_sti_device_driver);
+}
+
+static void __exit em_sti_exit(void)
+{
+       platform_driver_unregister(&em_sti_device_driver);
+}
+
+subsys_initcall(em_sti_init);
+module_exit(em_sti_exit);
 
 MODULE_AUTHOR("Magnus Damm");
 MODULE_DESCRIPTION("Renesas Emma Mobile STI Timer Driver");