]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-sh/spinlock.h
Merge tag 'r8169-upstream-20061204-00' of git://electric-eye.fr.zoreil.com/home/romie...
[linux-2.6-omap-h63xx.git] / include / asm-sh / spinlock.h
index 54458fd2498150ce964e159748faac8339c1f235..2586eef07d57214ec977f50b818d61c1c0fff9ed 100644 (file)
@@ -88,7 +88,14 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw)
        __raw_spin_unlock(&rw->lock);
 }
 
-#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 *rw)
 {