#ifndef _ASM_GENERIC_PERCPU_H_
#define _ASM_GENERIC_PERCPU_H_
#include <linux/compiler.h>
#include <linux/threads.h>
#include <linux/percpu-defs.h>
#ifdef CONFIG_SMP
#ifndef __per_cpu_offset
extern unsigned long __per_cpu_offset[NR_CPUS];
#define per_cpu_offset(x) …
#endif
#ifndef __my_cpu_offset
#define __my_cpu_offset …
#endif
#ifdef CONFIG_DEBUG_PREEMPT
#define my_cpu_offset …
#else
#define my_cpu_offset …
#endif
#ifndef arch_raw_cpu_ptr
#define arch_raw_cpu_ptr …
#endif
#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA
extern void setup_per_cpu_areas(void);
#endif
#endif
#ifndef PER_CPU_BASE_SECTION
#ifdef CONFIG_SMP
#define PER_CPU_BASE_SECTION …
#else
#define PER_CPU_BASE_SECTION …
#endif
#endif
#ifndef PER_CPU_ATTRIBUTES
#define PER_CPU_ATTRIBUTES
#endif
#define raw_cpu_generic_read(pcp) …
#define raw_cpu_generic_to_op(pcp, val, op) …
#define raw_cpu_generic_add_return(pcp, val) …
#define raw_cpu_generic_xchg(pcp, nval) …
#define __cpu_fallback_try_cmpxchg(pcp, ovalp, nval, _cmpxchg) …
#define raw_cpu_generic_try_cmpxchg(pcp, ovalp, nval) …
#define raw_cpu_generic_cmpxchg(pcp, oval, nval) …
#define __this_cpu_generic_read_nopreempt(pcp) …
#define __this_cpu_generic_read_noirq(pcp) …
#define this_cpu_generic_read(pcp) …
#define this_cpu_generic_to_op(pcp, val, op) …
#define this_cpu_generic_add_return(pcp, val) …
#define this_cpu_generic_xchg(pcp, nval) …
#define this_cpu_generic_try_cmpxchg(pcp, ovalp, nval) …
#define this_cpu_generic_cmpxchg(pcp, oval, nval) …
#ifndef raw_cpu_read_1
#define raw_cpu_read_1 …
#endif
#ifndef raw_cpu_read_2
#define raw_cpu_read_2 …
#endif
#ifndef raw_cpu_read_4
#define raw_cpu_read_4 …
#endif
#ifndef raw_cpu_read_8
#define raw_cpu_read_8 …
#endif
#ifndef raw_cpu_write_1
#define raw_cpu_write_1 …
#endif
#ifndef raw_cpu_write_2
#define raw_cpu_write_2 …
#endif
#ifndef raw_cpu_write_4
#define raw_cpu_write_4 …
#endif
#ifndef raw_cpu_write_8
#define raw_cpu_write_8 …
#endif
#ifndef raw_cpu_add_1
#define raw_cpu_add_1 …
#endif
#ifndef raw_cpu_add_2
#define raw_cpu_add_2 …
#endif
#ifndef raw_cpu_add_4
#define raw_cpu_add_4 …
#endif
#ifndef raw_cpu_add_8
#define raw_cpu_add_8 …
#endif
#ifndef raw_cpu_and_1
#define raw_cpu_and_1 …
#endif
#ifndef raw_cpu_and_2
#define raw_cpu_and_2 …
#endif
#ifndef raw_cpu_and_4
#define raw_cpu_and_4 …
#endif
#ifndef raw_cpu_and_8
#define raw_cpu_and_8 …
#endif
#ifndef raw_cpu_or_1
#define raw_cpu_or_1 …
#endif
#ifndef raw_cpu_or_2
#define raw_cpu_or_2 …
#endif
#ifndef raw_cpu_or_4
#define raw_cpu_or_4 …
#endif
#ifndef raw_cpu_or_8
#define raw_cpu_or_8 …
#endif
#ifndef raw_cpu_add_return_1
#define raw_cpu_add_return_1 …
#endif
#ifndef raw_cpu_add_return_2
#define raw_cpu_add_return_2 …
#endif
#ifndef raw_cpu_add_return_4
#define raw_cpu_add_return_4 …
#endif
#ifndef raw_cpu_add_return_8
#define raw_cpu_add_return_8 …
#endif
#ifndef raw_cpu_xchg_1
#define raw_cpu_xchg_1 …
#endif
#ifndef raw_cpu_xchg_2
#define raw_cpu_xchg_2 …
#endif
#ifndef raw_cpu_xchg_4
#define raw_cpu_xchg_4 …
#endif
#ifndef raw_cpu_xchg_8
#define raw_cpu_xchg_8 …
#endif
#ifndef raw_cpu_try_cmpxchg_1
#ifdef raw_cpu_cmpxchg_1
#define raw_cpu_try_cmpxchg_1 …
#else
#define raw_cpu_try_cmpxchg_1 …
#endif
#endif
#ifndef raw_cpu_try_cmpxchg_2
#ifdef raw_cpu_cmpxchg_2
#define raw_cpu_try_cmpxchg_2 …
#else
#define raw_cpu_try_cmpxchg_2 …
#endif
#endif
#ifndef raw_cpu_try_cmpxchg_4
#ifdef raw_cpu_cmpxchg_4
#define raw_cpu_try_cmpxchg_4 …
#else
#define raw_cpu_try_cmpxchg_4 …
#endif
#endif
#ifndef raw_cpu_try_cmpxchg_8
#ifdef raw_cpu_cmpxchg_8
#define raw_cpu_try_cmpxchg_8 …
#else
#define raw_cpu_try_cmpxchg_8 …
#endif
#endif
#ifndef raw_cpu_try_cmpxchg64
#ifdef raw_cpu_cmpxchg64
#define raw_cpu_try_cmpxchg64 …
#else
#define raw_cpu_try_cmpxchg64 …
#endif
#endif
#ifndef raw_cpu_try_cmpxchg128
#ifdef raw_cpu_cmpxchg128
#define raw_cpu_try_cmpxchg128 …
#else
#define raw_cpu_try_cmpxchg128 …
#endif
#endif
#ifndef raw_cpu_cmpxchg_1
#define raw_cpu_cmpxchg_1 …
#endif
#ifndef raw_cpu_cmpxchg_2
#define raw_cpu_cmpxchg_2 …
#endif
#ifndef raw_cpu_cmpxchg_4
#define raw_cpu_cmpxchg_4 …
#endif
#ifndef raw_cpu_cmpxchg_8
#define raw_cpu_cmpxchg_8 …
#endif
#ifndef raw_cpu_cmpxchg64
#define raw_cpu_cmpxchg64 …
#endif
#ifndef raw_cpu_cmpxchg128
#define raw_cpu_cmpxchg128 …
#endif
#ifndef this_cpu_read_1
#define this_cpu_read_1 …
#endif
#ifndef this_cpu_read_2
#define this_cpu_read_2 …
#endif
#ifndef this_cpu_read_4
#define this_cpu_read_4 …
#endif
#ifndef this_cpu_read_8
#define this_cpu_read_8 …
#endif
#ifndef this_cpu_write_1
#define this_cpu_write_1 …
#endif
#ifndef this_cpu_write_2
#define this_cpu_write_2 …
#endif
#ifndef this_cpu_write_4
#define this_cpu_write_4 …
#endif
#ifndef this_cpu_write_8
#define this_cpu_write_8 …
#endif
#ifndef this_cpu_add_1
#define this_cpu_add_1 …
#endif
#ifndef this_cpu_add_2
#define this_cpu_add_2 …
#endif
#ifndef this_cpu_add_4
#define this_cpu_add_4 …
#endif
#ifndef this_cpu_add_8
#define this_cpu_add_8 …
#endif
#ifndef this_cpu_and_1
#define this_cpu_and_1 …
#endif
#ifndef this_cpu_and_2
#define this_cpu_and_2 …
#endif
#ifndef this_cpu_and_4
#define this_cpu_and_4 …
#endif
#ifndef this_cpu_and_8
#define this_cpu_and_8 …
#endif
#ifndef this_cpu_or_1
#define this_cpu_or_1 …
#endif
#ifndef this_cpu_or_2
#define this_cpu_or_2 …
#endif
#ifndef this_cpu_or_4
#define this_cpu_or_4 …
#endif
#ifndef this_cpu_or_8
#define this_cpu_or_8 …
#endif
#ifndef this_cpu_add_return_1
#define this_cpu_add_return_1 …
#endif
#ifndef this_cpu_add_return_2
#define this_cpu_add_return_2 …
#endif
#ifndef this_cpu_add_return_4
#define this_cpu_add_return_4 …
#endif
#ifndef this_cpu_add_return_8
#define this_cpu_add_return_8 …
#endif
#ifndef this_cpu_xchg_1
#define this_cpu_xchg_1 …
#endif
#ifndef this_cpu_xchg_2
#define this_cpu_xchg_2 …
#endif
#ifndef this_cpu_xchg_4
#define this_cpu_xchg_4 …
#endif
#ifndef this_cpu_xchg_8
#define this_cpu_xchg_8 …
#endif
#ifndef this_cpu_try_cmpxchg_1
#ifdef this_cpu_cmpxchg_1
#define this_cpu_try_cmpxchg_1 …
#else
#define this_cpu_try_cmpxchg_1 …
#endif
#endif
#ifndef this_cpu_try_cmpxchg_2
#ifdef this_cpu_cmpxchg_2
#define this_cpu_try_cmpxchg_2 …
#else
#define this_cpu_try_cmpxchg_2 …
#endif
#endif
#ifndef this_cpu_try_cmpxchg_4
#ifdef this_cpu_cmpxchg_4
#define this_cpu_try_cmpxchg_4 …
#else
#define this_cpu_try_cmpxchg_4 …
#endif
#endif
#ifndef this_cpu_try_cmpxchg_8
#ifdef this_cpu_cmpxchg_8
#define this_cpu_try_cmpxchg_8 …
#else
#define this_cpu_try_cmpxchg_8 …
#endif
#endif
#ifndef this_cpu_try_cmpxchg64
#ifdef this_cpu_cmpxchg64
#define this_cpu_try_cmpxchg64 …
#else
#define this_cpu_try_cmpxchg64 …
#endif
#endif
#ifndef this_cpu_try_cmpxchg128
#ifdef this_cpu_cmpxchg128
#define this_cpu_try_cmpxchg128 …
#else
#define this_cpu_try_cmpxchg128 …
#endif
#endif
#ifndef this_cpu_cmpxchg_1
#define this_cpu_cmpxchg_1 …
#endif
#ifndef this_cpu_cmpxchg_2
#define this_cpu_cmpxchg_2 …
#endif
#ifndef this_cpu_cmpxchg_4
#define this_cpu_cmpxchg_4 …
#endif
#ifndef this_cpu_cmpxchg_8
#define this_cpu_cmpxchg_8 …
#endif
#ifndef this_cpu_cmpxchg64
#define this_cpu_cmpxchg64 …
#endif
#ifndef this_cpu_cmpxchg128
#define this_cpu_cmpxchg128 …
#endif
#endif