#ifndef _ASM_GENERIC_LOCAL64_H
#define _ASM_GENERIC_LOCAL64_H
#include <linux/percpu.h>
#include <asm/types.h>
#if BITS_PER_LONG == 64
#include <asm/local.h>
local64_t;
#define LOCAL64_INIT(i) …
#define local64_read(l) …
#define local64_set(l,i) …
#define local64_inc(l) …
#define local64_dec(l) …
#define local64_add(i,l) …
#define local64_sub(i,l) …
#define local64_sub_and_test(i, l) …
#define local64_dec_and_test(l) …
#define local64_inc_and_test(l) …
#define local64_add_negative(i, l) …
#define local64_add_return(i, l) …
#define local64_sub_return(i, l) …
#define local64_inc_return(l) …
static inline s64 local64_cmpxchg(local64_t *l, s64 old, s64 new)
{ … }
static inline bool local64_try_cmpxchg(local64_t *l, s64 *old, s64 new)
{ … }
#define local64_xchg(l, n) …
#define local64_add_unless(l, _a, u) …
#define local64_inc_not_zero(l) …
#define __local64_inc(l) …
#define __local64_dec(l) …
#define __local64_add(i,l) …
#define __local64_sub(i,l) …
#else
#include <linux/atomic.h>
typedef struct {
atomic64_t a;
} local64_t;
#define LOCAL64_INIT …
#define local64_read …
#define local64_set …
#define local64_inc …
#define local64_dec …
#define local64_add …
#define local64_sub …
#define local64_sub_and_test …
#define local64_dec_and_test …
#define local64_inc_and_test …
#define local64_add_negative …
#define local64_add_return …
#define local64_sub_return …
#define local64_inc_return …
#define local64_cmpxchg …
#define local64_try_cmpxchg …
#define local64_xchg …
#define local64_add_unless …
#define local64_inc_not_zero …
#define __local64_inc …
#define __local64_dec …
#define __local64_add …
#define __local64_sub …
#endif
#endif