xref: /nrf52832-nimble/rt-thread/components/dfs/filesystems/jffs2/kernel/linux/spinlock.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero #ifndef __LINUX_SPINLOCK_H__
2*10465441SEvalZero #define __LINUX_SPINLOCK_H__
3*10465441SEvalZero 
4*10465441SEvalZero #if defined (__GNUC__)
5*10465441SEvalZero typedef struct { } spinlock_t;
6*10465441SEvalZero 
7*10465441SEvalZero #define SPIN_LOCK_UNLOCKED (spinlock_t) { }
8*10465441SEvalZero #define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED
9*10465441SEvalZero #elif defined (MSVC)
10*10465441SEvalZero typedef struct {int no; } spinlock_t;
11*10465441SEvalZero 
12*10465441SEvalZero #define SPIN_LOCK_UNLOCKED (spinlock_t) ( 0)
13*10465441SEvalZero #define DEFINE_SPINLOCK(x) spinlock_t x
14*10465441SEvalZero #else
15*10465441SEvalZero #error "please use a right C compiler"
16*10465441SEvalZero #endif
17*10465441SEvalZero 
18*10465441SEvalZero #define spin_lock_init(lock)             \
19*10465441SEvalZero CYG_MACRO_START;                         \
20*10465441SEvalZero CYG_UNUSED_PARAM(spinlock_t *, lock);    \
21*10465441SEvalZero CYG_MACRO_END
22*10465441SEvalZero 
23*10465441SEvalZero #define spin_lock(lock)                  \
24*10465441SEvalZero CYG_MACRO_START;                         \
25*10465441SEvalZero CYG_UNUSED_PARAM(spinlock_t *, lock);    \
26*10465441SEvalZero CYG_MACRO_END
27*10465441SEvalZero 
28*10465441SEvalZero #define spin_unlock(lock)                \
29*10465441SEvalZero CYG_MACRO_START;                         \
30*10465441SEvalZero CYG_UNUSED_PARAM(spinlock_t *, lock);    \
31*10465441SEvalZero CYG_MACRO_END
32*10465441SEvalZero 
33*10465441SEvalZero #define spin_lock_bh(lock)               \
34*10465441SEvalZero CYG_MACRO_START;                         \
35*10465441SEvalZero CYG_UNUSED_PARAM(spinlock_t *, lock);    \
36*10465441SEvalZero CYG_MACRO_END
37*10465441SEvalZero 
38*10465441SEvalZero #define spin_unlock_bh(lock)             \
39*10465441SEvalZero CYG_MACRO_START;                         \
40*10465441SEvalZero CYG_UNUSED_PARAM(spinlock_t *, lock);    \
41*10465441SEvalZero CYG_MACRO_END
42*10465441SEvalZero 
43*10465441SEvalZero #endif /* __LINUX_SPINLOCK_H__ */
44