52 volatile unsigned int lock;
56 inline bool iCAS(
volatile uint32_t * ptr, uint32_t oldVal, uint32_t newVal);
66 #define atomic_read(v) ((v)->count) 69 #define atomic_set(v,i) (((v)->count) = (i)) 72 #define spinlock_init(s) ((s)->lock = 0) bool spin_trylock(spinlock_t *s)
volatile int count
Atomic counter. Use the provided API to ensure atomicity.
void atomic_dec(atomic_t *)
int atomic_test_and_set(int *)
void spin_lock(spinlock_t *s)
bool iCAS(volatile uint32_t *ptr, uint32_t oldVal, uint32_t newVal)
volatile unsigned int lock
The lock guard.
int atomic_inc_and_test(atomic_t *v)
void atomic_inc(atomic_t *)
void spin_unlock(spinlock_t *s)