WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
osal_spinlock.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2022. All rights reserved.
3 * Description: OS Abstract Layer.
4 */
5
9#ifndef __OSAL_SPINLOCK_H__
10#define __OSAL_SPINLOCK_H__
11
12#ifdef __cplusplus
13#if __cplusplus
14extern "C" {
15#endif
16#endif
17
18typedef struct {
19 void *lock;
21
40
60
75
91
107
121void osal_spin_trylock_irqsave(osal_spinlock *lock, unsigned long *flags);
122
136
149
163void osal_spin_lock_irqsave(osal_spinlock *lock, unsigned long *flags);
164
178void osal_spin_unlock_irqrestore(osal_spinlock *lock, unsigned long *flags);
179
197
198#ifdef __cplusplus
199#if __cplusplus
200}
201#endif
202#endif
203#endif /* __OSAL_SPINLOCK_H__ */
int osal_spin_lock_init(osal_spinlock *lock)
Initialize a spin lock.
Definition osal_spinlock.c:15
void osal_spin_lock_irqsave(osal_spinlock *lock, unsigned long *flags)
acquire the spin_lock.
Definition osal_spinlock.c:89
void osal_spin_lock(osal_spinlock *lock)
Lock the spinlock.
Definition osal_spinlock.c:38
void osal_spin_trylock_irqsave(osal_spinlock *lock, unsigned long *flags)
Try to acquire the spin_lock.
void osal_spin_lock_bh(osal_spinlock *lock)
Disable soft interrupts and lock the spin lock.
Definition osal_spinlock.c:77
void osal_spin_lock_destroy(osal_spinlock *lock)
Destroy the spin_lock.
Definition osal_spinlock.c:116
int osal_spin_trylock_irq(osal_spinlock *lock)
Try to acquire the spin_lock.
int osal_spin_trylock(osal_spinlock *lock)
Try to acquire the spin_lock.
Definition osal_spinlock.c:49
void osal_spin_unlock_irqrestore(osal_spinlock *lock, unsigned long *flags)
release the spin_lock.
Definition osal_spinlock.c:103
void osal_spin_unlock(osal_spinlock *lock)
release the spin_lock.
Definition osal_spinlock.c:66
void osal_spin_unlock_bh(osal_spinlock *lock)
release the spin_lock.
Definition osal_spinlock.c:83
Definition osal_spinlock.h:18
void * lock
Definition osal_spinlock.h:19