smart-green-house/rtt-uart-nb/rt-thread/components/dfs/filesystems/jffs2/kernel/linux/spinlock.h

44 lines
1.1 KiB
C

#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__ */