[PATCH v3 1/2] arm64: cpufeature.h: resolve hidden header dependencies

Yury Norov ynorov at caviumnetworks.com
Wed Sep 2 08:49:59 PDT 2015

Functions implemented in cpufeature.h depend on some headers, but
cpufeature.h does not include them. This may cause build failure if
cpufeature.h user does not include that headers by itself. (Like it
happens in next patch of this series.)

cpu_feature macro is moved under "#ifndef __ASSEMBLY__" guard as
it depends on <linux/log2.h>, and can be used in C files only.

Signed-off-by: Yury Norov <ynorov at caviumnetworks.com>
Reviewed-by: Mark Rutland <mark.rutland at arm.com>
 arch/arm64/include/asm/cpufeature.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
index c104421..f0e4017 100644
--- a/arch/arm64/include/asm/cpufeature.h
+++ b/arch/arm64/include/asm/cpufeature.h
@@ -19,7 +19,6 @@
 #define MAX_CPU_FEATURES	(8 * sizeof(elf_hwcap))
-#define cpu_feature(x)		ilog2(HWCAP_ ## x)
@@ -30,6 +29,14 @@
 #ifndef __ASSEMBLY__
+#include <linux/bitmap.h>
+#include <linux/compiler.h>
+#include <linux/log2.h>
+#include <linux/printk.h>
+#include <linux/types.h>
+#define cpu_feature(x)		ilog2(HWCAP_ ## x)
 struct arm64_cpu_capabilities {
 	const char *desc;
 	u16 capability;

More information about the linux-arm-kernel mailing list