Lines Matching defs:rw_semaphore
20 struct rw_semaphore {
37 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
39 extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
40 extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
41 extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
42 extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
44 static inline void init_rwsem(struct rw_semaphore *sem)
54 static inline void __down_read(struct rw_semaphore *sem)
60 static inline int __down_read_trylock(struct rw_semaphore *sem)
76 static inline void __down_write(struct rw_semaphore *sem)
86 static inline int __down_write_trylock(struct rw_semaphore *sem)
98 static inline void __up_read(struct rw_semaphore *sem)
110 static inline void __up_write(struct rw_semaphore *sem)
120 static inline void rwsem_atomic_add(int delta, struct rw_semaphore *sem)
128 static inline void __downgrade_write(struct rw_semaphore *sem)
140 static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
145 static inline int rwsem_is_locked(struct rw_semaphore *sem)