arm: use subsys_initcall in non-modular pl320 IPC code
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Sat, 2 May 2015 00:08:21 +0000 (20:08 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Tue, 16 Jun 2015 18:12:35 +0000 (14:12 -0400)
The drivers/mailbox/pl320-ipc.o is dependent on config PL320_MBOX
which is declared as a bool.  Hence the code is never going to be
modular.  So using module_init as an alias for __initcall can be
somewhat misleading.

Fix this up now, so that we can relocate module_init from
init.h into module.h in the future.  If we don't do this, we'd
have to add module.h to obviously non-modular code, and that
would be a worse thing.  Also add an inclusion of init.h, as
that was previously implicit.

Note that direct use of __initcall is discouraged, vs. one
of the priority categorized subgroups.  As __initcall gets
mapped onto device_initcall, our use of subsys_initcall (which
seems to make sense for IPC code) will thus change this
registration from level 6-device to level 4-subsys (i.e. slightly
earlier).  However no impact of that small difference is expected.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
drivers/mailbox/pl320-ipc.c

index f3755e0aa935c96a3aa0b0d3e4122b82e8cfe241..f80acb36ff075ca6a25b398861d97993d32fd57b 100644 (file)
@@ -195,4 +195,4 @@ static int __init ipc_init(void)
 {
        return amba_driver_register(&pl320_driver);
 }
-module_init(ipc_init);
+subsys_initcall(ipc_init);