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