1#ifndef _ASM_SPINLOCK_TYPES_H 2#define _ASM_SPINLOCK_TYPES_H 3 4#ifndef __LINUX_SPINLOCK_TYPES_H 5# error "please don't include this file directly" 6#endif 7 8typedef struct { 9 /* 10 * bits 0..13: serving_now 11 * bits 14 : junk data 12 * bits 15..28: ticket 13 */ 14 unsigned int lock; 15} raw_spinlock_t; 16 17#define __RAW_SPIN_LOCK_UNLOCKED { 0 } 18 19typedef struct { 20 volatile unsigned int lock; 21} raw_rwlock_t; 22 23#define __RAW_RW_LOCK_UNLOCKED { 0 } 24 25#endif 26