#ifndef _ASM_GENERIC_SPINLOCK_H_ | |
#define _ASM_GENERIC_SPINLOCK_H_ | |
struct spinlock { | |
unsigned int v; | |
}; | |
static inline void spin_lock(struct spinlock *lock) | |
{ | |
while (__sync_lock_test_and_set(&lock->v, 1)); | |
} | |
static inline void spin_unlock(struct spinlock *lock) | |
{ | |
__sync_lock_release(&lock->v); | |
} | |
#endif |