diff options
Diffstat (limited to 'include/asm-parisc/spinlock.h')
| -rw-r--r-- | include/asm-parisc/spinlock.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/asm-parisc/spinlock.h b/include/asm-parisc/spinlock.h index 16c2ac075fc5..a93960e232cf 100644 --- a/include/asm-parisc/spinlock.h +++ b/include/asm-parisc/spinlock.h | |||
| @@ -134,14 +134,22 @@ static __inline__ int __raw_write_trylock(raw_rwlock_t *rw) | |||
| 134 | return 1; | 134 | return 1; |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | static __inline__ int __raw_is_read_locked(raw_rwlock_t *rw) | 137 | /* |
| 138 | * read_can_lock - would read_trylock() succeed? | ||
| 139 | * @lock: the rwlock in question. | ||
| 140 | */ | ||
| 141 | static __inline__ int __raw_read_can_lock(raw_rwlock_t *rw) | ||
| 138 | { | 142 | { |
| 139 | return rw->counter > 0; | 143 | return rw->counter >= 0; |
| 140 | } | 144 | } |
| 141 | 145 | ||
| 142 | static __inline__ int __raw_is_write_locked(raw_rwlock_t *rw) | 146 | /* |
| 147 | * write_can_lock - would write_trylock() succeed? | ||
| 148 | * @lock: the rwlock in question. | ||
| 149 | */ | ||
| 150 | static __inline__ int __raw_write_can_lock(raw_rwlock_t *rw) | ||
| 143 | { | 151 | { |
| 144 | return rw->counter < 0; | 152 | return !rw->counter; |
| 145 | } | 153 | } |
| 146 | 154 | ||
| 147 | #endif /* __ASM_SPINLOCK_H */ | 155 | #endif /* __ASM_SPINLOCK_H */ |
