There are two variants of system_uses_lse_atomics(), depending on
CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
option is enabled.
No need to keep system_uses_lse_atomics() and just remove it.
Signed-off-by: Gavin Shan <[email protected]>
---
arch/arm64/include/asm/lse.h | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
index cbbcdc35c4cd..3129a5819d0e 100644
--- a/arch/arm64/include/asm/lse.h
+++ b/arch/arm64/include/asm/lse.h
@@ -16,14 +16,9 @@
#include <asm/atomic_lse.h>
#include <asm/cpucaps.h>
-static __always_inline bool system_uses_lse_atomics(void)
-{
- return alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS);
-}
-
#define __lse_ll_sc_body(op, ...) \
({ \
- system_uses_lse_atomics() ? \
+ alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) ? \
__lse_##op(__VA_ARGS__) : \
__ll_sc_##op(__VA_ARGS__); \
})
@@ -34,8 +29,6 @@ static __always_inline bool system_uses_lse_atomics(void)
#else /* CONFIG_ARM64_LSE_ATOMICS */
-static inline bool system_uses_lse_atomics(void) { return false; }
-
#define __lse_ll_sc_body(op, ...) __ll_sc_##op(__VA_ARGS__)
#define ARM64_LSE_ATOMIC_INSN(llsc, lse) llsc
--
2.41.0
On Tue, Oct 17, 2023 at 10:50:36AM +1000, Gavin Shan wrote:
> There are two variants of system_uses_lse_atomics(), depending on
> CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
> CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
> by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
> option is enabled.
>
> No need to keep system_uses_lse_atomics() and just remove it.
>
> Signed-off-by: Gavin Shan <[email protected]>
I had meant to remove this already, so:
Acked-by: Mark Rutland <[email protected]>
Mark.
> ---
> arch/arm64/include/asm/lse.h | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
> index cbbcdc35c4cd..3129a5819d0e 100644
> --- a/arch/arm64/include/asm/lse.h
> +++ b/arch/arm64/include/asm/lse.h
> @@ -16,14 +16,9 @@
> #include <asm/atomic_lse.h>
> #include <asm/cpucaps.h>
>
> -static __always_inline bool system_uses_lse_atomics(void)
> -{
> - return alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS);
> -}
> -
> #define __lse_ll_sc_body(op, ...) \
> ({ \
> - system_uses_lse_atomics() ? \
> + alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) ? \
> __lse_##op(__VA_ARGS__) : \
> __ll_sc_##op(__VA_ARGS__); \
> })
> @@ -34,8 +29,6 @@ static __always_inline bool system_uses_lse_atomics(void)
>
> #else /* CONFIG_ARM64_LSE_ATOMICS */
>
> -static inline bool system_uses_lse_atomics(void) { return false; }
> -
> #define __lse_ll_sc_body(op, ...) __ll_sc_##op(__VA_ARGS__)
>
> #define ARM64_LSE_ATOMIC_INSN(llsc, lse) llsc
> --
> 2.41.0
>
On Tue, 17 Oct 2023 10:50:36 +1000, Gavin Shan wrote:
> There are two variants of system_uses_lse_atomics(), depending on
> CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
> CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
> by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
> option is enabled.
>
> No need to keep system_uses_lse_atomics() and just remove it.
>
> [...]
Applied to arm64 (for-next/misc), thanks!
[1/1] arm64: Remove system_uses_lse_atomics()
https://git.kernel.org/arm64/c/0899a6278a86
--
Catalin