linux/tools/include/linux/spinlock.h
<<
>>
Prefs
   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#define spin_lock_init(x)       pthread_mutex_init(x, NULL)
  12
  13#define spin_lock(x)                    pthread_mutex_lock(x)
  14#define spin_unlock(x)                  pthread_mutex_unlock(x)
  15#define spin_lock_bh(x)                 pthread_mutex_lock(x)
  16#define spin_unlock_bh(x)               pthread_mutex_unlock(x)
  17#define spin_lock_irq(x)                pthread_mutex_lock(x)
  18#define spin_unlock_irq(x)              pthread_mutex_unlock(x)
  19#define spin_lock_irqsave(x, f)         (void)f, pthread_mutex_lock(x)
  20#define spin_unlock_irqrestore(x, f)    (void)f, pthread_mutex_unlock(x)
  21
  22#define arch_spinlock_t pthread_mutex_t
  23#define __ARCH_SPIN_LOCK_UNLOCKED PTHREAD_MUTEX_INITIALIZER
  24
  25static inline void arch_spin_lock(arch_spinlock_t *mutex)
  26{
  27        pthread_mutex_lock(mutex);
  28}
  29
  30static inline void arch_spin_unlock(arch_spinlock_t *mutex)
  31{
  32        pthread_mutex_unlock(mutex);
  33}
  34
  35static inline bool arch_spin_is_locked(arch_spinlock_t *mutex)
  36{
  37        return true;
  38}
  39
  40#include <linux/lockdep.h>
  41
  42#endif
  43