[PATCH] bus/omap_l3: avoid sync initcall for modules

Arnd Bergmann arnd at arndb.de
Thu May 8 07:56:17 PDT 2014


The postcore_initcall_sync() macro is only defined for built-in
code, but the omap_l3 bus code can be built as a module, which
currently causes a build failure.

This works around the problem by using #ifdef MODULE to decide
whether to use a regular module_init() function or not.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Cc: Tony Lindgren <tony at atomide.com>
Cc: Kishon Vijay Abraham I <kishon at ti.com>
Cc: Felipe Balbi <balbi at ti.com>
---
 drivers/bus/omap_l3_noc.c | 4 ++++
 drivers/bus/omap_l3_smx.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/bus/omap_l3_noc.c b/drivers/bus/omap_l3_noc.c
index feeecae..648f158 100644
--- a/drivers/bus/omap_l3_noc.c
+++ b/drivers/bus/omap_l3_noc.c
@@ -257,7 +257,11 @@ static int __init omap4_l3_init(void)
 {
 	return platform_driver_register(&omap4_l3_driver);
 }
+#ifdef MODULE
+module_init(omap4_l3_init);
+#else
 postcore_initcall_sync(omap4_l3_init);
+#endif
 
 static void __exit omap4_l3_exit(void)
 {
diff --git a/drivers/bus/omap_l3_smx.c b/drivers/bus/omap_l3_smx.c
index acc2164..f752d1b 100644
--- a/drivers/bus/omap_l3_smx.c
+++ b/drivers/bus/omap_l3_smx.c
@@ -288,7 +288,11 @@ static int __init omap3_l3_init(void)
 {
 	return platform_driver_probe(&omap3_l3_driver, omap3_l3_probe);
 }
+#ifdef MODULE
+module_init(omap3_l3_init);
+#else
 postcore_initcall_sync(omap3_l3_init);
+#endif
 
 static void __exit omap3_l3_exit(void)
 {
-- 
1.8.3.2




More information about the linux-arm-kernel mailing list