Commit 9be85de9 authored by Mark Rutland's avatar Mark Rutland Committed by Peter Zijlstra
Browse files

locking/atomic: make ARCH_ATOMIC a Kconfig symbol



Subsequent patches will move architectures over to the ARCH_ATOMIC API,
after preparing the asm-generic atomic implementations to function with
or without ARCH_ATOMIC.

As some architectures use the asm-generic implementations exclusively
(and don't have a local atomic.h), and to avoid the risk that
ARCH_ATOMIC isn't defined in some cases we expect, let's make the
ARCH_ATOMIC macro a Kconfig symbol instead, so that we can guarantee it
is consistently available where needed.

There should be no functional change as a result of this patch.

Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210525140232.53872-2-mark.rutland@arm.com
parent a82adc76
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@ source "arch/$(SRCARCH)/Kconfig"

menu "General architecture-dependent options"

config ARCH_ATOMIC
	bool

config CRASH_CORE
	bool

+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ config ARM64
	select ACPI_MCFG if (ACPI && PCI)
	select ACPI_SPCR_TABLE if ACPI
	select ACPI_PPTT if ACPI
	select ARCH_ATOMIC
	select ARCH_HAS_DEBUG_WX
	select ARCH_BINFMT_ELF_STATE
	select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
+0 −2
Original line number Diff line number Diff line
@@ -223,6 +223,4 @@ static __always_inline long arch_atomic64_dec_if_positive(atomic64_t *v)

#define arch_atomic64_dec_if_positive		arch_atomic64_dec_if_positive

#define ARCH_ATOMIC

#endif /* __ASM_ATOMIC_H */
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ config S390
	# Note: keep this list sorted alphabetically
	#
	imply IMA_SECURE_AND_OR_TRUSTED_BOOT
	select ARCH_ATOMIC
	select ARCH_32BIT_USTAT_F_TINODE
	select ARCH_BINFMT_ELF_STATE
	select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM
+0 −2
Original line number Diff line number Diff line
@@ -147,6 +147,4 @@ ATOMIC64_OPS(xor)
#define arch_atomic64_fetch_sub(_i, _v)  arch_atomic64_fetch_add(-(s64)(_i), _v)
#define arch_atomic64_sub(_i, _v)	 arch_atomic64_add(-(s64)(_i), _v)

#define ARCH_ATOMIC

#endif /* __ARCH_S390_ATOMIC__  */
Loading