···25extern void atomic64_sub(int, atomic64_t *);2627extern int atomic_add_ret(int, atomic_t *);28-extern int atomic64_add_ret(int, atomic64_t *);29extern int atomic_sub_ret(int, atomic_t *);30-extern int atomic64_sub_ret(int, atomic64_t *);3132#define atomic_dec_return(v) atomic_sub_ret(1, v)33#define atomic64_dec_return(v) atomic64_sub_ret(1, v)···91 ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n)))92#define atomic64_xchg(v, new) (xchg(&((v)->counter), new))9394-static inline int atomic64_add_unless(atomic64_t *v, long a, long u)95{96 long c, old;97 c = atomic64_read(v);
···25extern void atomic64_sub(int, atomic64_t *);2627extern int atomic_add_ret(int, atomic_t *);28+extern long atomic64_add_ret(int, atomic64_t *);29extern int atomic_sub_ret(int, atomic_t *);30+extern long atomic64_sub_ret(int, atomic64_t *);3132#define atomic_dec_return(v) atomic_sub_ret(1, v)33#define atomic64_dec_return(v) atomic64_sub_ret(1, v)···91 ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n)))92#define atomic64_xchg(v, new) (xchg(&((v)->counter), new))9394+static inline long atomic64_add_unless(atomic64_t *v, long a, long u)95{96 long c, old;97 c = atomic64_read(v);