Lines Matching refs:lock
8 struct mutex lock; member
12 #define seqmutex_init(_lock) mutex_init(&(_lock)->lock)
14 static inline bool seqmutex_trylock(struct seqmutex *lock) in seqmutex_trylock() argument
16 return mutex_trylock(&lock->lock); in seqmutex_trylock()
19 static inline void seqmutex_lock(struct seqmutex *lock) in seqmutex_lock() argument
21 mutex_lock(&lock->lock); in seqmutex_lock()
22 lock->seq++; in seqmutex_lock()
25 static inline u32 seqmutex_unlock(struct seqmutex *lock) in seqmutex_unlock() argument
27 u32 seq = lock->seq; in seqmutex_unlock()
28 mutex_unlock(&lock->lock); in seqmutex_unlock()
32 static inline bool seqmutex_relock(struct seqmutex *lock, u32 seq) in seqmutex_relock() argument
34 if (lock->seq != seq || !mutex_trylock(&lock->lock)) in seqmutex_relock()
37 if (lock->seq != seq) { in seqmutex_relock()
38 mutex_unlock(&lock->lock); in seqmutex_relock()