cpufeature: correctly annotate the module init function
authorHendrik Brueckner <brueckner@linux.vnet.ibm.com>
Thu, 19 Feb 2015 13:44:24 +0000 (14:44 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 22 Jul 2015 07:58:02 +0000 (09:58 +0200)
A section mismatch warning is reported if an __init annotated function is
specified for module_cpu_feature_match().
Change the module_cpu_feature_match() function and annotate the generated
cpu_feature_match_* function as __init.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
include/linux/cpufeature.h

index c4d4eb8ac9fe2bbd24c42646d95716a95e705859..986c06c88d81426b2d0629eb85994ba1f26616d8 100644 (file)
@@ -11,6 +11,7 @@
 
 #ifdef CONFIG_GENERIC_CPU_AUTOPROBE
 
+#include <linux/init.h>
 #include <linux/mod_devicetable.h>
 #include <asm/cpufeature.h>
 
  * For a list of legal values for 'feature', please consult the file
  * 'asm/cpufeature.h' of your favorite architecture.
  */
-#define module_cpu_feature_match(x, __init)                    \
+#define module_cpu_feature_match(x, __initfunc)                        \
 static struct cpu_feature const cpu_feature_match_ ## x[] =    \
        { { .feature = cpu_feature(x) }, { } };                 \
 MODULE_DEVICE_TABLE(cpu, cpu_feature_match_ ## x);             \
                                                                \
-static int cpu_feature_match_ ## x ## _init(void)              \
+static int __init cpu_feature_match_ ## x ## _init(void)       \
 {                                                              \
        if (!cpu_have_feature(cpu_feature(x)))                  \
                return -ENODEV;                                 \
-       return __init();                                        \
+       return __initfunc();                                    \
 }                                                              \
 module_init(cpu_feature_match_ ## x ## _init)