- @v & @i need to be @param v & @param i - add the @file command Change-Id: Ib4fb609629bc2dfcf1869bdf7a4d4cd9fea283cc Signed-off-by: Martin Roth <martin.roth@se-eng.com> Reviewed-on: http://review.coreboot.org/8075 Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Tested-by: build bot (Jenkins)
57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
#ifndef SMP_ATOMIC_H
|
|
#define SMP_ATOMIC_H
|
|
|
|
#if CONFIG_SMP
|
|
#include <arch/smp/atomic.h>
|
|
#else
|
|
|
|
typedef struct { int counter; } atomic_t;
|
|
#define ATOMIC_INIT(i) { (i) }
|
|
|
|
/**
|
|
* @file include/smp/atomic.h
|
|
*/
|
|
|
|
/**
|
|
* atomic_read - read atomic variable
|
|
* @param v: pointer of type atomic_t
|
|
*
|
|
* Atomically reads the value of v. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_read(v) ((v)->counter)
|
|
|
|
/**
|
|
* atomic_set - set atomic variable
|
|
* @param v: pointer of type atomic_t
|
|
* @param i: required value
|
|
*
|
|
* Atomically sets the value of v to i. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_set(v,i) (((v)->counter) = (i))
|
|
|
|
|
|
/**
|
|
* atomic_inc - increment atomic variable
|
|
* @param v: pointer of type atomic_t
|
|
*
|
|
* Atomically increments v by 1. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_inc(v) (((v)->counter)++)
|
|
|
|
|
|
/**
|
|
* atomic_dec - decrement atomic variable
|
|
* @param v: pointer of type atomic_t
|
|
*
|
|
* Atomically decrements v by 1. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_dec(v) (((v)->counter)--)
|
|
|
|
|
|
#endif /* CONFIG_SMP */
|
|
|
|
#endif /* SMP_ATOMIC_H */
|