aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/cpufeature.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/cpufeature.h b/include/linux/cpufeature.h
index c4d4eb8ac..1ac8dac1e 100644
--- a/include/linux/cpufeature.h
+++ b/include/linux/cpufeature.h
@@ -43,10 +43,21 @@
* 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) \
+
+#ifdef MODULE
+
+/* gcc6 does not like unused declarations */
+#define declare_cpu_feature(x) \
static struct cpu_feature const cpu_feature_match_ ## x[] = \
{ { .feature = cpu_feature(x) }, { } }; \
-MODULE_DEVICE_TABLE(cpu, cpu_feature_match_ ## x); \
+MODULE_DEVICE_TABLE(cpu, cpu_feature_match_ ## x);
+
+#else
+#define declare_cpu_feature(x)
+#endif
+
+#define module_cpu_feature_match(x, __init) \
+declare_cpu_feature(x) \
\
static int cpu_feature_match_ ## x ## _init(void) \
{ \