aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/spinlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/spinlock.h')
-rw-r--r--include/linux/spinlock.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index e0c0fccced46..252b245cfcf4 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -124,7 +124,12 @@ do { \
124#ifdef CONFIG_GENERIC_LOCKBREAK 124#ifdef CONFIG_GENERIC_LOCKBREAK
125#define spin_is_contended(lock) ((lock)->break_lock) 125#define spin_is_contended(lock) ((lock)->break_lock)
126#else 126#else
127
128#ifdef __raw_spin_is_contended
127#define spin_is_contended(lock) __raw_spin_is_contended(&(lock)->raw_lock) 129#define spin_is_contended(lock) __raw_spin_is_contended(&(lock)->raw_lock)
130#else
131#define spin_is_contended(lock) (((void)(lock), 0))
132#endif /*__raw_spin_is_contended*/
128#endif 133#endif
129 134
130/** 135/**
@@ -148,9 +153,11 @@ do { \
148 extern int _raw_spin_trylock(spinlock_t *lock); 153 extern int _raw_spin_trylock(spinlock_t *lock);
149 extern void _raw_spin_unlock(spinlock_t *lock); 154 extern void _raw_spin_unlock(spinlock_t *lock);
150 extern void _raw_read_lock(rwlock_t *lock); 155 extern void _raw_read_lock(rwlock_t *lock);
156#define _raw_read_lock_flags(lock, flags) _raw_read_lock(lock)
151 extern int _raw_read_trylock(rwlock_t *lock); 157 extern int _raw_read_trylock(rwlock_t *lock);
152 extern void _raw_read_unlock(rwlock_t *lock); 158 extern void _raw_read_unlock(rwlock_t *lock);
153 extern void _raw_write_lock(rwlock_t *lock); 159 extern void _raw_write_lock(rwlock_t *lock);
160#define _raw_write_lock_flags(lock, flags) _raw_write_lock(lock)
154 extern int _raw_write_trylock(rwlock_t *lock); 161 extern int _raw_write_trylock(rwlock_t *lock);
155 extern void _raw_write_unlock(rwlock_t *lock); 162 extern void _raw_write_unlock(rwlock_t *lock);
156#else 163#else
@@ -160,9 +167,13 @@ do { \
160# define _raw_spin_trylock(lock) __raw_spin_trylock(&(lock)->raw_lock) 167# define _raw_spin_trylock(lock) __raw_spin_trylock(&(lock)->raw_lock)
161# define _raw_spin_unlock(lock) __raw_spin_unlock(&(lock)->raw_lock) 168# define _raw_spin_unlock(lock) __raw_spin_unlock(&(lock)->raw_lock)
162# define _raw_read_lock(rwlock) __raw_read_lock(&(rwlock)->raw_lock) 169# define _raw_read_lock(rwlock) __raw_read_lock(&(rwlock)->raw_lock)
170# define _raw_read_lock_flags(lock, flags) \
171 __raw_read_lock_flags(&(lock)->raw_lock, *(flags))
163# define _raw_read_trylock(rwlock) __raw_read_trylock(&(rwlock)->raw_lock) 172# define _raw_read_trylock(rwlock) __raw_read_trylock(&(rwlock)->raw_lock)
164# define _raw_read_unlock(rwlock) __raw_read_unlock(&(rwlock)->raw_lock) 173# define _raw_read_unlock(rwlock) __raw_read_unlock(&(rwlock)->raw_lock)
165# define _raw_write_lock(rwlock) __raw_write_lock(&(rwlock)->raw_lock) 174# define _raw_write_lock(rwlock) __raw_write_lock(&(rwlock)->raw_lock)
175# define _raw_write_lock_flags(lock, flags) \
176 __raw_write_lock_flags(&(lock)->raw_lock, *(flags))
166# define _raw_write_trylock(rwlock) __raw_write_trylock(&(rwlock)->raw_lock) 177# define _raw_write_trylock(rwlock) __raw_write_trylock(&(rwlock)->raw_lock)
167# define _raw_write_unlock(rwlock) __raw_write_unlock(&(rwlock)->raw_lock) 178# define _raw_write_unlock(rwlock) __raw_write_unlock(&(rwlock)->raw_lock)
168#endif 179#endif