blob: 5c58134f2c4e35a31a402f69c3368e2a9033c326 [file] [log] [blame]
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07001#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
8typedef struct {
9 volatile unsigned long lock;
10} raw_spinlock_t;
11
Evgeniy Polyakov66c52272007-05-31 13:46:21 +090012#define __RAW_SPIN_LOCK_UNLOCKED { 1 }
13
14#include <asm/atomic.h>
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070015
16typedef struct {
17 raw_spinlock_t lock;
18 atomic_t counter;
19} raw_rwlock_t;
20
21#define RW_LOCK_BIAS 0x01000000
22#define __RAW_RW_LOCK_UNLOCKED { { 0 }, { RW_LOCK_BIAS } }
23
24#endif