12#ifndef __METAL_MUTEX__H__
13#error "Include metal/mutex.h instead of metal/zephyr/mutex.h"
16#ifndef __METAL_ZEPHYR_MUTEX__H__
17#define __METAL_ZEPHYR_MUTEX__H__
19#include <metal/atomic.h>
20#include <zephyr/kernel.h>
32#define METAL_MUTEX_INIT(m) _K_SEM_INITIALIZER(m, 1, 1)
37#define METAL_MUTEX_DEFINE(m) K_SEM_DEFINE(m, 1, 1)
76 k_sem_take(m, K_FOREVER);
static void __metal_mutex_release(metal_mutex_t *mutex)
Definition mutex.h:64
static void __metal_mutex_deinit(metal_mutex_t *mutex)
Definition mutex.h:45
static int __metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition mutex.h:52
static int __metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition mutex.h:70
static void __metal_mutex_acquire(metal_mutex_t *mutex)
Definition mutex.h:58
static void __metal_mutex_init(metal_mutex_t *mutex)
Definition mutex.h:38
static metal_mutex_t irq_lock
Definition irq.c:37