1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __LINUX_SPINLOCK_H_ 3 #define __LINUX_SPINLOCK_H_ 4 5 #include <pthread.h> 6 #include <stdbool.h> 7 8 #define spinlock_t pthread_mutex_t 9 #define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER; 10 #define __SPIN_LOCK_UNLOCKED(x) (pthread_mutex_t)PTHREAD_MUTEX_INITIALIZER 11 12 #define spin_lock_irqsave(x, f) (void)f, pthread_mutex_lock(x) 13 #define spin_unlock_irqrestore(x, f) (void)f, pthread_mutex_unlock(x) 14 15 #define arch_spinlock_t pthread_mutex_t 16 #define __ARCH_SPIN_LOCK_UNLOCKED PTHREAD_MUTEX_INITIALIZER 17 18 static inline void arch_spin_lock(arch_spinlock_t *mutex) 19 { 20 pthread_mutex_lock(mutex); 21 } 22 23 static inline void arch_spin_unlock(arch_spinlock_t *mutex) 24 { 25 pthread_mutex_unlock(mutex); 26 } 27 28 static inline bool arch_spin_is_locked(arch_spinlock_t *mutex) 29 { 30 return true; 31 } 32 33 #endif 34