summaryrefslogtreecommitdiff
path: root/components/dfs/filesystems/jffs2/kernel/linux/spinlock.h
blob: db3f4d45023f2f9fd4a9477b3efa8af51247c288 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef __LINUX_SPINLOCK_H__
#define __LINUX_SPINLOCK_H__

#if defined (__GNUC__)    
typedef struct { } spinlock_t;

#define SPIN_LOCK_UNLOCKED (spinlock_t) { }
#define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED
#elif defined (MSVC)
typedef struct {int no; } spinlock_t;

#define SPIN_LOCK_UNLOCKED (spinlock_t) ( 0)
#define DEFINE_SPINLOCK(x) spinlock_t x 
#else
#error "please use a right C compiler"
#endif

#define spin_lock_init(lock)             \
CYG_MACRO_START;                         \
CYG_UNUSED_PARAM(spinlock_t *, lock);    \
CYG_MACRO_END

#define spin_lock(lock)                  \
CYG_MACRO_START;                         \
CYG_UNUSED_PARAM(spinlock_t *, lock);    \
CYG_MACRO_END

#define spin_unlock(lock)                \
CYG_MACRO_START;                         \
CYG_UNUSED_PARAM(spinlock_t *, lock);    \
CYG_MACRO_END

#define spin_lock_bh(lock)               \
CYG_MACRO_START;                         \
CYG_UNUSED_PARAM(spinlock_t *, lock);    \
CYG_MACRO_END

#define spin_unlock_bh(lock)             \
CYG_MACRO_START;                         \
CYG_UNUSED_PARAM(spinlock_t *, lock);    \
CYG_MACRO_END

#endif /* __LINUX_SPINLOCK_H__ */