diff options
Diffstat (limited to 'include/asm-generic/atomic.h')
-rw-r--r-- | include/asm-generic/atomic.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index c99c64dc5f3..058129e9b04 100644 --- a/include/asm-generic/atomic.h +++ b/include/asm-generic/atomic.h @@ -30,18 +30,16 @@ * atomic_read - read atomic variable * @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. + * Atomically reads the value of @v. */ -#define atomic_read(v) ((v)->counter) +#define atomic_read(v) (*(volatile int *)&(v)->counter) /** * atomic_set - set atomic variable * @v: pointer of type atomic_t * @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. + * Atomically sets the value of @v to @i. */ #define atomic_set(v, i) (((v)->counter) = (i)) @@ -53,7 +51,6 @@ * @v: pointer of type atomic_t * * Atomically adds @i to @v and returns the result - * Note that the guaranteed useful range of an atomic_t is only 24 bits. */ static inline int atomic_add_return(int i, atomic_t *v) { @@ -75,7 +72,6 @@ static inline int atomic_add_return(int i, atomic_t *v) * @v: pointer of type atomic_t * * Atomically subtracts @i from @v and returns the result - * Note that the guaranteed useful range of an atomic_t is only 24 bits. */ static inline int atomic_sub_return(int i, atomic_t *v) { |