arm64: Fix circular include of asm/lse.h through linux/jump_label.h
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 3 Nov 2016 18:34:34 +0000 (18:34 +0000)
committerWill Deacon <will.deacon@arm.com>
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 <asavkov@redhat.com>
Tested-by: Artem Savkov <asavkov@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
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