瀏覽代碼

[PATCH] m32r: revise __raw_read_trylock()

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Hirokazu Takata 18 年之前
父節點
當前提交
85f651794c
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      include/asm-m32r/spinlock.h

+ 8 - 1
include/asm-m32r/spinlock.h

@@ -298,7 +298,14 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw)
 	);
 }
 
-#define __raw_read_trylock(lock) generic__raw_read_trylock(lock)
+static inline int __raw_read_trylock(raw_rwlock_t *lock)
+{
+	atomic_t *count = (atomic_t*)lock;
+	if (atomic_dec_return(count) >= 0)
+		return 1;
+	atomic_inc(count);
+	return 0;
+}
 
 static inline int __raw_write_trylock(raw_rwlock_t *lock)
 {