summaryrefslogtreecommitdiff
path: root/kernel/spinlock.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-07-26 17:39:56 (GMT)
committerScott Wood <scottwood@freescale.com>2014-04-10 00:19:26 (GMT)
commit73ae55fd4fdfc9fc7c07e86fb7278db47edf11fb (patch)
tree036591cd25ce603b1368430c6980289799fbff32 /kernel/spinlock.c
parenta82ee54429c434ae1b54481ca5afb9f04e4840e4 (diff)
downloadlinux-fsl-qoriq-73ae55fd4fdfc9fc7c07e86fb7278db47edf11fb.tar.xz
rt: Add the preempt-rt lock replacement APIs
Map spinlocks, rwlocks, rw_semaphores and semaphores to the rt_mutex based locking functions for preempt-rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/spinlock.c')
-rw-r--r--kernel/spinlock.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/spinlock.c b/kernel/spinlock.c
index 4b082b5..5c76166 100644
--- a/kernel/spinlock.c
+++ b/kernel/spinlock.c
@@ -124,8 +124,11 @@ void __lockfunc __raw_##op##_lock_bh(locktype##_t *lock) \
* __[spin|read|write]_lock_bh()
*/
BUILD_LOCK_OPS(spin, raw_spinlock);
+
+#ifndef CONFIG_PREEMPT_RT_FULL
BUILD_LOCK_OPS(read, rwlock);
BUILD_LOCK_OPS(write, rwlock);
+#endif
#endif
@@ -209,6 +212,8 @@ void __lockfunc _raw_spin_unlock_bh(raw_spinlock_t *lock)
EXPORT_SYMBOL(_raw_spin_unlock_bh);
#endif
+#ifndef CONFIG_PREEMPT_RT_FULL
+
#ifndef CONFIG_INLINE_READ_TRYLOCK
int __lockfunc _raw_read_trylock(rwlock_t *lock)
{
@@ -353,6 +358,8 @@ void __lockfunc _raw_write_unlock_bh(rwlock_t *lock)
EXPORT_SYMBOL(_raw_write_unlock_bh);
#endif
+#endif /* !PREEMPT_RT_FULL */
+
#ifdef CONFIG_DEBUG_LOCK_ALLOC
void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass)