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
8typedef struct {
9	volatile unsigned long lock;
10} raw_spinlock_t;
11
12#define __RAW_SPIN_LOCK_UNLOCKED	{ 1 }
13
14#include <asm/atomic.h>
15
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
25