provide an unsigned long atomic type. Signed-off-by: Peter Zijlstra --- include/asm-generic/atomic.h | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) Index: linux-2.6-rt/include/asm-generic/atomic.h =================================================================== --- linux-2.6-rt.orig/include/asm-generic/atomic.h 2006-12-02 17:42:16.000000000 +0100 +++ linux-2.6-rt/include/asm-generic/atomic.h 2006-12-02 17:46:09.000000000 +0100 @@ -114,4 +114,49 @@ static inline void atomic_long_sub(long } #endif + +typedef atomic_long_t atomic_ulong_t; + +#define ATOMIC_ULONG_INIT(i) ATOMIC_LONG_INIT(i) +static inline unsigned long atomic_ulong_read(atomic_ulong_t *l) +{ + atomic_long_t *v = (atomic_long_t *)l; + + return (unsigned long)atomic_long_read(v); +} + +static inline void atomic_ulong_set(atomic_ulong_t *l, unsigned long i) +{ + atomic_long_t *v = (atomic_long_t *)l; + + atomic_long_set(v, i); +} + +static inline void atomic_ulong_inc(atomic_ulong_t *l) +{ + atomic_long_t *v = (atomic_long_t *)l; + + atomic_long_inc(v); +} + +static inline void atomic_ulong_dec(atomic_ulong_t *l) +{ + atomic_long_t *v = (atomic_long_t *)l; + + atomic_long_dec(v); +} + +static inline void atomic_ulong_add(unsigned long i, atomic_ulong_t *l) +{ + atomic_long_t *v = (atomic_long_t *)l; + + atomic_long_add(i, v); +} + +static inline void atomic_ulong_sub(unsigned long i, atomic_ulong_t *l) +{ + atomic_long_t *v = (atomic_long_t *)l; + + atomic_long_sub(i, v); +} #endif -- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org