summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2014-05-02 17:06:19 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-05-30 01:12:25 +0100
commit8a87411b649c6082aebea613e84dcb3f174f72fb (patch)
tree28495f7a7994a61dca067b9d7fa1e8f2eb6e314c
parent03eff46ce31dbb186fea3eb2016e1c41f000db7e (diff)
downloadblackbird-op-linux-8a87411b649c6082aebea613e84dcb3f174f72fb.tar.gz
blackbird-op-linux-8a87411b649c6082aebea613e84dcb3f174f72fb.zip
ARM: 8047/1: rwsem: use asm-generic rwsem implementation
asm-generic offers an atomic-add based rwsem implementation, which can avoid the need for heavier, spinlock-based synchronisation on the fast path. This patch makes use of the optimised implementation for ARM CPUs. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/Kconfig5
-rw-r--r--arch/arm/include/asm/Kbuild1
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 58506175a3ea..ce64b7f66328 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -165,12 +165,9 @@ config TRACE_IRQFLAGS_SUPPORT
bool
default y
-config RWSEM_GENERIC_SPINLOCK
- bool
- default y
-
config RWSEM_XCHGADD_ALGORITHM
bool
+ default y
config ARCH_HAS_ILOG2_U32
bool
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 23e728ecf8ab..f5a357601983 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -21,6 +21,7 @@ generic-y += parport.h
generic-y += poll.h
generic-y += preempt.h
generic-y += resource.h
+generic-y += rwsem.h
generic-y += sections.h
generic-y += segment.h
generic-y += sembuf.h
OpenPOWER on IntegriCloud