arm64: Fix circular include of asm/lse.h through linux/jump_label.h
authorCatalin Marinas <[email protected]>
Thu, 3 Nov 2016 18:34:34 +0000 (18:34 +0000)
committerWill Deacon <[email protected]>
Sat, 5 Nov 2016 20:59:06 +0000 (20:59 +0000)
commit272d01bd790fdf3f1b16372fe28136e27756756f
treef55d134f721d4b4f97b563cfbeb0fcc208dad2e4
parenta909d3e636995ba7c349e2ca5dbb528154d4ac30
arm64: Fix circular include of asm/lse.h through linux/jump_label.h

Commit efd9e03facd0 ("arm64: Use static keys for CPU features")
introduced support for static keys in asm/cpufeature.h, including
linux/jump_label.h. When CC_HAVE_ASM_GOTO is not defined, this causes a
circular dependency via linux/atomic.h, asm/lse.h and asm/cpufeature.h.

This patch moves the capability macros out out of asm/cpufeature.h into
a separate asm/cpucaps.h and modifies some of the #includes accordingly.

Fixes: efd9e03facd0 ("arm64: Use static keys for CPU features")
Reported-by: Artem Savkov <[email protected]>
Tested-by: Artem Savkov <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
arch/arm64/include/asm/alternative.h
arch/arm64/include/asm/cpucaps.h [new file with mode: 0644]
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/lse.h