1deae26bfSKyle McMartin #ifndef __ASM_SPINLOCK_TYPES_H 2deae26bfSKyle McMartin #define __ASM_SPINLOCK_TYPES_H 3deae26bfSKyle McMartin 4deae26bfSKyle McMartin typedef struct { 5deae26bfSKyle McMartin #ifdef CONFIG_PA20 6deae26bfSKyle McMartin volatile unsigned int slock; 7deae26bfSKyle McMartin # define __RAW_SPIN_LOCK_UNLOCKED { 1 } 8deae26bfSKyle McMartin #else 9deae26bfSKyle McMartin volatile unsigned int lock[4]; 10deae26bfSKyle McMartin # define __RAW_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } 11deae26bfSKyle McMartin #endif 12445c8951SThomas Gleixner } arch_spinlock_t; 13deae26bfSKyle McMartin 14deae26bfSKyle McMartin typedef struct { 15445c8951SThomas Gleixner arch_spinlock_t lock; 16deae26bfSKyle McMartin volatile int counter; 17deae26bfSKyle McMartin } raw_rwlock_t; 18deae26bfSKyle McMartin 19deae26bfSKyle McMartin #define __RAW_RW_LOCK_UNLOCKED { __RAW_SPIN_LOCK_UNLOCKED, 0 } 20deae26bfSKyle McMartin 21deae26bfSKyle McMartin #endif 22