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