0001 #ifndef SPINLOCK_H_STUB
0002 #define SPINLOCK_H_STUB
0003
0004 #include <pthread.h>
0005
0006 typedef pthread_spinlock_t spinlock_t;
0007
0008 static inline void spin_lock_init(spinlock_t *lock)
0009 {
0010 int r = pthread_spin_init(lock, 0);
0011 assert(!r);
0012 }
0013
0014 static inline void spin_lock(spinlock_t *lock)
0015 {
0016 int ret = pthread_spin_lock(lock);
0017 assert(!ret);
0018 }
0019
0020 static inline void spin_unlock(spinlock_t *lock)
0021 {
0022 int ret = pthread_spin_unlock(lock);
0023 assert(!ret);
0024 }
0025
0026 static inline void spin_lock_bh(spinlock_t *lock)
0027 {
0028 spin_lock(lock);
0029 }
0030
0031 static inline void spin_unlock_bh(spinlock_t *lock)
0032 {
0033 spin_unlock(lock);
0034 }
0035
0036 static inline void spin_lock_irq(spinlock_t *lock)
0037 {
0038 spin_lock(lock);
0039 }
0040
0041 static inline void spin_unlock_irq(spinlock_t *lock)
0042 {
0043 spin_unlock(lock);
0044 }
0045
0046 static inline void spin_lock_irqsave(spinlock_t *lock, unsigned long f)
0047 {
0048 spin_lock(lock);
0049 }
0050
0051 static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long f)
0052 {
0053 spin_unlock(lock);
0054 }
0055
0056 #endif