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