1 #ifndef __ASM_GENERIC_QRWLOCK_TYPES_H
2 #define __ASM_GENERIC_QRWLOCK_TYPES_H
3 
4 #include <linux/types.h>
5 #include <asm/spinlock_types.h>
6 
7 /*
8  * The queue read/write lock data structure
9  */
10 
11 typedef struct qrwlock {
12 	atomic_t		cnts;
13 	arch_spinlock_t		wait_lock;
14 } arch_rwlock_t;
15 
16 #define	__ARCH_RW_LOCK_UNLOCKED {		\
17 	.cnts = ATOMIC_INIT(0),			\
18 	.wait_lock = __ARCH_SPIN_LOCK_UNLOCKED,	\
19 }
20 
21 #endif /* __ASM_GENERIC_QRWLOCK_TYPES_H */
22