Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: atomics: lse: remove stale dependency on JUMP_LABEL

Currently CONFIG_ARM64_USE_LSE_ATOMICS depends upon CONFIG_JUMP_LABEL,
as the inline atomics were indirected with a static branch.

However, since commit:

21fb26bfb01ffe0d ("arm64: alternatives: add alternative_has_feature_*()")

... we use an alternative_branch (which is always available) rather than
a static branch, and hence the dependency is unnecessary.

Remove the stale dependency, along with the stale include. This will
allow the use of LSE atomics in kernels built with CONFIG_JUMP_LABEL=n,
and reduces the risk of circular header dependencies via <asm/lse.h>.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20221114125424.2998268-1-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Mark Rutland and committed by
Will Deacon
657eef0a 1e55b44d

-2
-1
arch/arm64/Kconfig
··· 1714 1714 1715 1715 config ARM64_USE_LSE_ATOMICS 1716 1716 bool "Atomic instructions" 1717 - depends on JUMP_LABEL 1718 1717 default y 1719 1718 help 1720 1719 As part of the Large System Extensions, ARMv8.1 introduces new
-1
arch/arm64/include/asm/lse.h
··· 10 10 11 11 #include <linux/compiler_types.h> 12 12 #include <linux/export.h> 13 - #include <linux/jump_label.h> 14 13 #include <linux/stringify.h> 15 14 #include <asm/alternative.h> 16 15 #include <asm/alternative-macros.h>