|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
Main header file for hardware spinlock driver API. More...
#include <zephyr/types.h>#include <zephyr/sys/util.h>#include <zephyr/sys/__assert.h>#include <zephyr/device.h>#include <zephyr/spinlock.h>#include <zephyr/devicetree.h>Go to the source code of this file.
Data Structures | |
| struct | hwspinlock_context |
| HW spinlock controller runtime context. More... | |
| struct | hwspinlock_dt_spec |
| Complete hardware spinlock DT information. More... | |
Macros | |
| #define | HWSPINLOCK_CTX_INITIALIZER |
| Initializer for a hwspinlock_ctx_t. | |
| #define | HWSPINLOCK_DT_SPEC_GET_BY_IDX(node_id, idx) |
| Structure initializer for struct hwspinlock_dt_spec from devicetree by index. | |
| #define | HWSPINLOCK_DT_SPEC_GET_BY_NAME(node_id, name) |
| Structure initializer for struct hwspinlock_dt_spec from devicetree by name. | |
| #define | HWSPINLOCK_DT_SPEC_GET(node_id) |
| Structure initializer for struct hwspinlock_dt_spec from devicetree. | |
| #define | HWSPINLOCK_DT_SPEC_INST_GET_BY_IDX(inst, idx) |
| Instance version of HWSPINLOCK_DT_SPEC_GET_BY_IDX() | |
| #define | HWSPINLOCK_DT_SPEC_INST_GET_BY_NAME(inst, name) |
| Instance version of HWSPINLOCK_DT_SPEC_GET_BY_NAME() | |
| #define | HWSPINLOCK_DT_SPEC_INST_GET(inst) |
| Instance version of HWSPINLOCK_DT_SPEC_GET() | |
Typedefs | |
| typedef struct hwspinlock_context | hwspinlock_ctx_t |
| Opaque type to represent a hwspinlock runtime context. | |
Functions | |
| static int | hw_spin_trylock (const struct device *dev, hwspinlock_ctx_t *ctx, uint32_t id, k_spinlock_key_t *key) |
| Try to lock HW spinlock. | |
| static k_spinlock_key_t | hw_spin_lock (const struct device *dev, hwspinlock_ctx_t *ctx, uint32_t id) |
| Lock HW spinlock. | |
| static void | hw_spin_unlock (const struct device *dev, hwspinlock_ctx_t *ctx, uint32_t id, k_spinlock_key_t key) |
| Unlock HW spinlock. | |
| static uint32_t | hw_spinlock_get_max_id (const struct device *dev) |
| Get HW spinlock max ID. | |
| static int | hw_spin_trylock_dt (struct hwspinlock_dt_spec *spec, k_spinlock_key_t *key) |
| Try to lock HW spinlock from a struct hwspinlock_dt_spec. | |
| static k_spinlock_key_t | hw_spin_lock_dt (struct hwspinlock_dt_spec *spec) |
| Lock HW spinlock from a struct hwspinlock_dt_spec. | |
| static void | hw_spin_unlock_dt (struct hwspinlock_dt_spec *spec, k_spinlock_key_t key) |
| Unlock HW spinlock from a struct hwspinlock_dt_spec. | |
| static uint32_t | hw_spinlock_get_max_id_dt (struct hwspinlock_dt_spec *spec) |
| Get HW spinlock max ID from a struct hwspinlock_dt_spec. | |
Main header file for hardware spinlock driver API.