aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m32r/spinlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-m32r/spinlock.h')
-rw-r--r--include/asm-m32r/spinlock.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/asm-m32r/spinlock.h b/include/asm-m32r/spinlock.h
index f94c1a673569..f9f90727a4a1 100644
--- a/include/asm-m32r/spinlock.h
+++ b/include/asm-m32r/spinlock.h
@@ -298,7 +298,14 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw)
298 ); 298 );
299} 299}
300 300
301#define __raw_read_trylock(lock) generic__raw_read_trylock(lock) 301static inline int __raw_read_trylock(raw_rwlock_t *lock)
302{
303 atomic_t *count = (atomic_t*)lock;
304 if (atomic_dec_return(count) >= 0)
305 return 1;
306 atomic_inc(count);
307 return 0;
308}
302 309
303static inline int __raw_write_trylock(raw_rwlock_t *lock) 310static inline int __raw_write_trylock(raw_rwlock_t *lock)
304{ 311{