Lines Matching defs:rw_semaphore
24 struct rw_semaphore {
41 struct rw_semaphore name = __RWSEM_INITIALIZER(name)
43 extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
44 extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
45 extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
46 extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
48 static inline void init_rwsem(struct rw_semaphore *sem)
58 static inline void __down_read(struct rw_semaphore *sem)
66 static inline int __down_read_trylock(struct rw_semaphore *sem)
83 static inline void __down_write(struct rw_semaphore *sem)
95 static inline int __down_write_trylock(struct rw_semaphore *sem)
108 static inline void __up_read(struct rw_semaphore *sem)
121 static inline void __up_write(struct rw_semaphore *sem)
132 static inline void rwsem_atomic_add(int delta, struct rw_semaphore *sem)
140 static inline void __downgrade_write(struct rw_semaphore *sem)
153 static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
159 static inline int rwsem_is_locked(struct rw_semaphore *sem)