x86: don't use module_init for non-modular core bootflag 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:34 +0000 (14:12 -0400)
The bootflag.o is obj-y (always built in).  It will never be
modular, so using module_init as an alias for __initcall is
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.

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 arch_initcall (which
makes sense for arch code) will thus change this registration
from level 6-device to level 3-arch (i.e. slightly earlier).
However no observable impact of that small difference has
been observed during testing, or is expected.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
arch/x86/kernel/bootflag.c

index 5de7f4c5697136e180e4a24e153bde77c7112b8c..52c8e3c7789dc81f6f6bd5ae60a6672f500dc8ca 100644 (file)
@@ -98,4 +98,4 @@ static int __init sbf_init(void)
 
        return 0;
 }
-module_init(sbf_init);
+arch_initcall(sbf_init);