blob: 3f72f47cf4b20c798ac09a0b3ac520a069062046 [file] [log] [blame]
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07001#ifndef __ASM_SPINLOCK_TYPES_H
2#define __ASM_SPINLOCK_TYPES_H
3
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07004typedef struct {
Matthew Wilcox14e256c2005-10-21 22:41:25 -04005#ifdef CONFIG_PA20
6 volatile unsigned int slock;
7# define __RAW_SPIN_LOCK_UNLOCKED { 1 }
8#else
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07009 volatile unsigned int lock[4];
Matthew Wilcox14e256c2005-10-21 22:41:25 -040010# define __RAW_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } }
11#endif
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070012} raw_spinlock_t;
13
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070014typedef struct {
15 raw_spinlock_t lock;
16 volatile int counter;
17} raw_rwlock_t;
18
19#define __RAW_RW_LOCK_UNLOCKED { __RAW_SPIN_LOCK_UNLOCKED, 0 }
20
21#endif