|
|
@@ -297,16 +297,28 @@ void __init parse_early_options(char *cmdline);
|
|
|
|
|
|
#else /* MODULE */
|
|
|
|
|
|
-/* Don't use these in loadable modules, but some people do... */
|
|
|
+/*
|
|
|
+ * In most cases loadable modules do not need custom
|
|
|
+ * initcall levels. There are still some valid cases where
|
|
|
+ * a driver may be needed early if built in, and does not
|
|
|
+ * matter when built as a loadable module. Like bus
|
|
|
+ * snooping debug drivers.
|
|
|
+ */
|
|
|
#define early_initcall(fn) module_init(fn)
|
|
|
#define core_initcall(fn) module_init(fn)
|
|
|
+#define core_initcall_sync(fn) module_init(fn)
|
|
|
#define postcore_initcall(fn) module_init(fn)
|
|
|
+#define postcore_initcall_sync(fn) module_init(fn)
|
|
|
#define arch_initcall(fn) module_init(fn)
|
|
|
#define subsys_initcall(fn) module_init(fn)
|
|
|
+#define subsys_initcall_sync(fn) module_init(fn)
|
|
|
#define fs_initcall(fn) module_init(fn)
|
|
|
+#define fs_initcall_sync(fn) module_init(fn)
|
|
|
#define rootfs_initcall(fn) module_init(fn)
|
|
|
#define device_initcall(fn) module_init(fn)
|
|
|
+#define device_initcall_sync(fn) module_init(fn)
|
|
|
#define late_initcall(fn) module_init(fn)
|
|
|
+#define late_initcall_sync(fn) module_init(fn)
|
|
|
|
|
|
#define console_initcall(fn) module_init(fn)
|
|
|
#define security_initcall(fn) module_init(fn)
|