Blame view

include/asm-generic/qrwlock_types.h 470 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
70af2f8a4   Waiman Long   locking/rwlocks: ...
2
3
4
5
6
7
8
9
10
11
12
13
  #ifndef __ASM_GENERIC_QRWLOCK_TYPES_H
  #define __ASM_GENERIC_QRWLOCK_TYPES_H
  
  #include <linux/types.h>
  #include <asm/spinlock_types.h>
  
  /*
   * The queue read/write lock data structure
   */
  
  typedef struct qrwlock {
  	atomic_t		cnts;
6e1e51969   Davidlohr Bueso   locking/qrwlock: ...
14
  	arch_spinlock_t		wait_lock;
70af2f8a4   Waiman Long   locking/rwlocks: ...
15
16
17
18
  } arch_rwlock_t;
  
  #define	__ARCH_RW_LOCK_UNLOCKED {		\
  	.cnts = ATOMIC_INIT(0),			\
6e1e51969   Davidlohr Bueso   locking/qrwlock: ...
19
  	.wait_lock = __ARCH_SPIN_LOCK_UNLOCKED,	\
70af2f8a4   Waiman Long   locking/rwlocks: ...
20
21
22
  }
  
  #endif /* __ASM_GENERIC_QRWLOCK_TYPES_H */