Pull 5571 into release branch
[linux-2.6] / include / asm-sh / spinlock_types.h
1 #ifndef __ASM_SH_SPINLOCK_TYPES_H
2 #define __ASM_SH_SPINLOCK_TYPES_H
3
4 #ifndef __LINUX_SPINLOCK_TYPES_H
5 # error "please don't include this file directly"
6 #endif
7
8 typedef struct {
9         volatile unsigned long lock;
10 } raw_spinlock_t;
11
12 #define __SPIN_LOCK_UNLOCKED            { 0 }
13
14 typedef struct {
15         raw_spinlock_t lock;
16         atomic_t counter;
17 } raw_rwlock_t;
18
19 #define RW_LOCK_BIAS                    0x01000000
20 #define __RAW_RW_LOCK_UNLOCKED          { { 0 }, { RW_LOCK_BIAS } }
21
22 #endif