Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[sfrench/cifs-2.6.git] / arch / x86 / lib / atomic64_32.c
1 #include <linux/compiler.h>
2 #include <linux/module.h>
3 #include <linux/types.h>
4
5 #include <asm/processor.h>
6 #include <asm/cmpxchg.h>
7 #include <asm/atomic.h>
8
9 long long atomic64_read_cx8(long long, const atomic64_t *v);
10 EXPORT_SYMBOL(atomic64_read_cx8);
11 long long atomic64_set_cx8(long long, const atomic64_t *v);
12 EXPORT_SYMBOL(atomic64_set_cx8);
13 long long atomic64_xchg_cx8(long long, unsigned high);
14 EXPORT_SYMBOL(atomic64_xchg_cx8);
15 long long atomic64_add_return_cx8(long long a, atomic64_t *v);
16 EXPORT_SYMBOL(atomic64_add_return_cx8);
17 long long atomic64_sub_return_cx8(long long a, atomic64_t *v);
18 EXPORT_SYMBOL(atomic64_sub_return_cx8);
19 long long atomic64_inc_return_cx8(long long a, atomic64_t *v);
20 EXPORT_SYMBOL(atomic64_inc_return_cx8);
21 long long atomic64_dec_return_cx8(long long a, atomic64_t *v);
22 EXPORT_SYMBOL(atomic64_dec_return_cx8);
23 long long atomic64_dec_if_positive_cx8(atomic64_t *v);
24 EXPORT_SYMBOL(atomic64_dec_if_positive_cx8);
25 int atomic64_inc_not_zero_cx8(atomic64_t *v);
26 EXPORT_SYMBOL(atomic64_inc_not_zero_cx8);
27 int atomic64_add_unless_cx8(atomic64_t *v, long long a, long long u);
28 EXPORT_SYMBOL(atomic64_add_unless_cx8);
29
30 #ifndef CONFIG_X86_CMPXCHG64
31 long long atomic64_read_386(long long, const atomic64_t *v);
32 EXPORT_SYMBOL(atomic64_read_386);
33 long long atomic64_set_386(long long, const atomic64_t *v);
34 EXPORT_SYMBOL(atomic64_set_386);
35 long long atomic64_xchg_386(long long, unsigned high);
36 EXPORT_SYMBOL(atomic64_xchg_386);
37 long long atomic64_add_return_386(long long a, atomic64_t *v);
38 EXPORT_SYMBOL(atomic64_add_return_386);
39 long long atomic64_sub_return_386(long long a, atomic64_t *v);
40 EXPORT_SYMBOL(atomic64_sub_return_386);
41 long long atomic64_inc_return_386(long long a, atomic64_t *v);
42 EXPORT_SYMBOL(atomic64_inc_return_386);
43 long long atomic64_dec_return_386(long long a, atomic64_t *v);
44 EXPORT_SYMBOL(atomic64_dec_return_386);
45 long long atomic64_add_386(long long a, atomic64_t *v);
46 EXPORT_SYMBOL(atomic64_add_386);
47 long long atomic64_sub_386(long long a, atomic64_t *v);
48 EXPORT_SYMBOL(atomic64_sub_386);
49 long long atomic64_inc_386(long long a, atomic64_t *v);
50 EXPORT_SYMBOL(atomic64_inc_386);
51 long long atomic64_dec_386(long long a, atomic64_t *v);
52 EXPORT_SYMBOL(atomic64_dec_386);
53 long long atomic64_dec_if_positive_386(atomic64_t *v);
54 EXPORT_SYMBOL(atomic64_dec_if_positive_386);
55 int atomic64_inc_not_zero_386(atomic64_t *v);
56 EXPORT_SYMBOL(atomic64_inc_not_zero_386);
57 int atomic64_add_unless_386(atomic64_t *v, long long a, long long u);
58 EXPORT_SYMBOL(atomic64_add_unless_386);
59 #endif