diff mbox series

[6.1] arm64: atomics: lse: remove stale dependency on JUMP_LABEL

Message ID 20240521-lse-atomics-6-1-v1-1-7aa6040fc6cd@google.com (mailing list archive)
State New, archived
Headers show
Series [6.1] arm64: atomics: lse: remove stale dependency on JUMP_LABEL | expand

Commit Message

Oleksandr Tymoshenko May 21, 2024, 2:51 p.m. UTC
From: Mark Rutland <mark.rutland@arm.com>

[ Upstream commit 657eef0a5420a02c02945ed8c87f2ddcbd255772 ]

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>
Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
---
 arch/arm64/Kconfig           | 1 -
 arch/arm64/include/asm/lse.h | 1 -
 2 files changed, 2 deletions(-)


---
base-commit: 4078fa637fcd80c8487680ec2e4ef7c58308e9aa
change-id: 20240521-lse-atomics-6-1-b0960e206035

Best regards,

Comments

Greg KH May 23, 2024, 11:56 a.m. UTC | #1
On Tue, May 21, 2024 at 02:51:29PM +0000, Oleksandr Tymoshenko wrote:
> From: Mark Rutland <mark.rutland@arm.com>
> 
> [ Upstream commit 657eef0a5420a02c02945ed8c87f2ddcbd255772 ]
> 
> 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>
> Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
> ---
>  arch/arm64/Kconfig           | 1 -
>  arch/arm64/include/asm/lse.h | 1 -
>  2 files changed, 2 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index c15f71501c6c..044b98a62f7b 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1752,7 +1752,6 @@ config ARM64_LSE_ATOMICS
>  
>  config ARM64_USE_LSE_ATOMICS
>  	bool "Atomic instructions"
> -	depends on JUMP_LABEL
>  	default y
>  	help
>  	  As part of the Large System Extensions, ARMv8.1 introduces new
> diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
> index c503db8e73b0..f99d74826a7e 100644
> --- a/arch/arm64/include/asm/lse.h
> +++ b/arch/arm64/include/asm/lse.h
> @@ -10,7 +10,6 @@
>  
>  #include <linux/compiler_types.h>
>  #include <linux/export.h>
> -#include <linux/jump_label.h>
>  #include <linux/stringify.h>
>  #include <asm/alternative.h>
>  #include <asm/alternative-macros.h>
> 
> ---
> base-commit: 4078fa637fcd80c8487680ec2e4ef7c58308e9aa
> change-id: 20240521-lse-atomics-6-1-b0960e206035
> 
> Best regards,
> -- 
> Oleksandr Tymoshenko <ovt@google.com>
> 
> 

Now queued up, thanks.

greg k-h
diff mbox series

Patch

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index c15f71501c6c..044b98a62f7b 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1752,7 +1752,6 @@  config ARM64_LSE_ATOMICS
 
 config ARM64_USE_LSE_ATOMICS
 	bool "Atomic instructions"
-	depends on JUMP_LABEL
 	default y
 	help
 	  As part of the Large System Extensions, ARMv8.1 introduces new
diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
index c503db8e73b0..f99d74826a7e 100644
--- a/arch/arm64/include/asm/lse.h
+++ b/arch/arm64/include/asm/lse.h
@@ -10,7 +10,6 @@ 
 
 #include <linux/compiler_types.h>
 #include <linux/export.h>
-#include <linux/jump_label.h>
 #include <linux/stringify.h>
 #include <asm/alternative.h>
 #include <asm/alternative-macros.h>