aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorArun Sharma <asharma@fb.com>2011-07-26 19:09:08 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-26 19:49:47 -0400
commit7847777a45f9f8bfc8617dbf107bde1ecb59caee (patch)
treef9e31828db79e607a763f1eaea2119b2f270dcdb /arch
parentf24219b4e90cf70ec4a211b17fbabc725a0ddf3c (diff)
atomic: cleanup asm-generic atomic*.h inclusion
After changing all consumers of atomics to include <linux/atomic.h>, we ran into some compile time errors due to this dependency chain: linux/atomic.h -> asm/atomic.h -> asm-generic/atomic-long.h where atomic-long.h could use funcs defined later in linux/atomic.h without a prototype. This patches moves the code that includes asm-generic/atomic*.h to linux/atomic.h. Archs that need <asm-generic/atomic64.h> need to select CONFIG_GENERIC_ATOMIC64 from now on (some of them used to include it unconditionally). Compile tested on i386 and x86_64 with allnoconfig. Signed-off-by: Arun Sharma <asharma@fb.com> Cc: Eric Dumazet <eric.dumazet@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/include/asm/atomic.h1
-rw-r--r--arch/arm/include/asm/atomic.h5
-rw-r--r--arch/avr32/include/asm/atomic.h2
-rw-r--r--arch/blackfin/include/asm/atomic.h3
-rw-r--r--arch/cris/include/asm/atomic.h1
-rw-r--r--arch/frv/include/asm/atomic.h1
-rw-r--r--arch/h8300/include/asm/atomic.h1
-rw-r--r--arch/ia64/include/asm/atomic.h1
-rw-r--r--arch/m32r/include/asm/atomic.h1
-rw-r--r--arch/m68k/include/asm/atomic.h2
-rw-r--r--arch/mips/include/asm/atomic.h6
-rw-r--r--arch/mn10300/include/asm/atomic.h2
-rw-r--r--arch/parisc/include/asm/atomic.h5
-rw-r--r--arch/powerpc/include/asm/atomic.h4
-rw-r--r--arch/s390/include/asm/atomic.h2
-rw-r--r--arch/sh/include/asm/atomic.h3
-rw-r--r--arch/sparc/include/asm/atomic_32.h1
-rw-r--r--arch/sparc/include/asm/atomic_64.h1
-rw-r--r--arch/tile/include/asm/atomic.h5
-rw-r--r--arch/x86/include/asm/atomic.h1
-rw-r--r--arch/xtensa/include/asm/atomic.h1
21 files changed, 1 insertions, 48 deletions
diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
index 3d6704910268..640f909ddd41 100644
--- a/arch/alpha/include/asm/atomic.h
+++ b/arch/alpha/include/asm/atomic.h
@@ -255,5 +255,4 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
255#define smp_mb__before_atomic_inc() smp_mb() 255#define smp_mb__before_atomic_inc() smp_mb()
256#define smp_mb__after_atomic_inc() smp_mb() 256#define smp_mb__after_atomic_inc() smp_mb()
257 257
258#include <asm-generic/atomic-long.h>
259#endif /* _ALPHA_ATOMIC_H */ 258#endif /* _ALPHA_ATOMIC_H */
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
index 3757e91c5281..86976d034382 100644
--- a/arch/arm/include/asm/atomic.h
+++ b/arch/arm/include/asm/atomic.h
@@ -459,9 +459,6 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
459#define atomic64_dec_and_test(v) (atomic64_dec_return((v)) == 0) 459#define atomic64_dec_and_test(v) (atomic64_dec_return((v)) == 0)
460#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1LL, 0LL) 460#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1LL, 0LL)
461 461
462#else /* !CONFIG_GENERIC_ATOMIC64 */ 462#endif /* !CONFIG_GENERIC_ATOMIC64 */
463#include <asm-generic/atomic64.h>
464#endif
465#include <asm-generic/atomic-long.h>
466#endif 463#endif
467#endif 464#endif
diff --git a/arch/avr32/include/asm/atomic.h b/arch/avr32/include/asm/atomic.h
index dc6c3a41a2d7..e0ac2631c87e 100644
--- a/arch/avr32/include/asm/atomic.h
+++ b/arch/avr32/include/asm/atomic.h
@@ -188,6 +188,4 @@ static inline int atomic_sub_if_positive(int i, atomic_t *v)
188#define smp_mb__before_atomic_inc() barrier() 188#define smp_mb__before_atomic_inc() barrier()
189#define smp_mb__after_atomic_inc() barrier() 189#define smp_mb__after_atomic_inc() barrier()
190 190
191#include <asm-generic/atomic-long.h>
192
193#endif /* __ASM_AVR32_ATOMIC_H */ 191#endif /* __ASM_AVR32_ATOMIC_H */
diff --git a/arch/blackfin/include/asm/atomic.h b/arch/blackfin/include/asm/atomic.h
index 292c86f74f85..135225696fd2 100644
--- a/arch/blackfin/include/asm/atomic.h
+++ b/arch/blackfin/include/asm/atomic.h
@@ -111,10 +111,7 @@ static inline void atomic_set_mask(int mask, atomic_t *v)
111#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0) 111#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
112#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0) 112#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
113 113
114#include <asm-generic/atomic-long.h>
115 114
116#endif 115#endif
117 116
118#include <asm-generic/atomic64.h>
119
120#endif 117#endif
diff --git a/arch/cris/include/asm/atomic.h b/arch/cris/include/asm/atomic.h
index 7e90532c5253..bbf093814db2 100644
--- a/arch/cris/include/asm/atomic.h
+++ b/arch/cris/include/asm/atomic.h
@@ -157,5 +157,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
157#define smp_mb__before_atomic_inc() barrier() 157#define smp_mb__before_atomic_inc() barrier()
158#define smp_mb__after_atomic_inc() barrier() 158#define smp_mb__after_atomic_inc() barrier()
159 159
160#include <asm-generic/atomic-long.h>
161#endif 160#endif
diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h
index a51dcdfe1fbf..0d8a7d661740 100644
--- a/arch/frv/include/asm/atomic.h
+++ b/arch/frv/include/asm/atomic.h
@@ -257,5 +257,4 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
257} 257}
258 258
259 259
260#include <asm-generic/atomic-long.h>
261#endif /* _ASM_ATOMIC_H */ 260#endif /* _ASM_ATOMIC_H */
diff --git a/arch/h8300/include/asm/atomic.h b/arch/h8300/include/asm/atomic.h
index e6d1663625f0..f5a38c1f5489 100644
--- a/arch/h8300/include/asm/atomic.h
+++ b/arch/h8300/include/asm/atomic.h
@@ -145,5 +145,4 @@ static __inline__ void atomic_set_mask(unsigned long mask, unsigned long *v)
145#define smp_mb__before_atomic_inc() barrier() 145#define smp_mb__before_atomic_inc() barrier()
146#define smp_mb__after_atomic_inc() barrier() 146#define smp_mb__after_atomic_inc() barrier()
147 147
148#include <asm-generic/atomic-long.h>
149#endif /* __ARCH_H8300_ATOMIC __ */ 148#endif /* __ARCH_H8300_ATOMIC __ */
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
index 22aca210bd05..3fad89ee01cb 100644
--- a/arch/ia64/include/asm/atomic.h
+++ b/arch/ia64/include/asm/atomic.h
@@ -215,5 +215,4 @@ atomic64_add_negative (__s64 i, atomic64_t *v)
215#define smp_mb__before_atomic_inc() barrier() 215#define smp_mb__before_atomic_inc() barrier()
216#define smp_mb__after_atomic_inc() barrier() 216#define smp_mb__after_atomic_inc() barrier()
217 217
218#include <asm-generic/atomic-long.h>
219#endif /* _ASM_IA64_ATOMIC_H */ 218#endif /* _ASM_IA64_ATOMIC_H */
diff --git a/arch/m32r/include/asm/atomic.h b/arch/m32r/include/asm/atomic.h
index c839426ac732..1e7f29fb21f2 100644
--- a/arch/m32r/include/asm/atomic.h
+++ b/arch/m32r/include/asm/atomic.h
@@ -313,5 +313,4 @@ static __inline__ void atomic_set_mask(unsigned long mask, atomic_t *addr)
313#define smp_mb__before_atomic_inc() barrier() 313#define smp_mb__before_atomic_inc() barrier()
314#define smp_mb__after_atomic_inc() barrier() 314#define smp_mb__after_atomic_inc() barrier()
315 315
316#include <asm-generic/atomic-long.h>
317#endif /* _ASM_M32R_ATOMIC_H */ 316#endif /* _ASM_M32R_ATOMIC_H */
diff --git a/arch/m68k/include/asm/atomic.h b/arch/m68k/include/asm/atomic.h
index 2269350974f1..65c6be6c8180 100644
--- a/arch/m68k/include/asm/atomic.h
+++ b/arch/m68k/include/asm/atomic.h
@@ -205,6 +205,4 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
205#define smp_mb__before_atomic_inc() barrier() 205#define smp_mb__before_atomic_inc() barrier()
206#define smp_mb__after_atomic_inc() barrier() 206#define smp_mb__after_atomic_inc() barrier()
207 207
208#include <asm-generic/atomic-long.h>
209#include <asm-generic/atomic64.h>
210#endif /* __ARCH_M68K_ATOMIC __ */ 208#endif /* __ARCH_M68K_ATOMIC __ */
diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
index 31cb23debb7e..1d93f81d57e7 100644
--- a/arch/mips/include/asm/atomic.h
+++ b/arch/mips/include/asm/atomic.h
@@ -765,10 +765,6 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
765 */ 765 */
766#define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0) 766#define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0)
767 767
768#else /* !CONFIG_64BIT */
769
770#include <asm-generic/atomic64.h>
771
772#endif /* CONFIG_64BIT */ 768#endif /* CONFIG_64BIT */
773 769
774/* 770/*
@@ -780,6 +776,4 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
780#define smp_mb__before_atomic_inc() smp_mb__before_llsc() 776#define smp_mb__before_atomic_inc() smp_mb__before_llsc()
781#define smp_mb__after_atomic_inc() smp_llsc_mb() 777#define smp_mb__after_atomic_inc() smp_llsc_mb()
782 778
783#include <asm-generic/atomic-long.h>
784
785#endif /* _ASM_ATOMIC_H */ 779#endif /* _ASM_ATOMIC_H */
diff --git a/arch/mn10300/include/asm/atomic.h b/arch/mn10300/include/asm/atomic.h
index a2e6759af4db..b9a8f8461262 100644
--- a/arch/mn10300/include/asm/atomic.h
+++ b/arch/mn10300/include/asm/atomic.h
@@ -343,8 +343,6 @@ static inline void atomic_set_mask(unsigned long mask, unsigned long *addr)
343#define smp_mb__before_atomic_inc() barrier() 343#define smp_mb__before_atomic_inc() barrier()
344#define smp_mb__after_atomic_inc() barrier() 344#define smp_mb__after_atomic_inc() barrier()
345 345
346#include <asm-generic/atomic-long.h>
347
348#endif /* __KERNEL__ */ 346#endif /* __KERNEL__ */
349#endif /* CONFIG_SMP */ 347#endif /* CONFIG_SMP */
350#endif /* _ASM_ATOMIC_H */ 348#endif /* _ASM_ATOMIC_H */
diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
index 1914f179879d..b1dc71f5534e 100644
--- a/arch/parisc/include/asm/atomic.h
+++ b/arch/parisc/include/asm/atomic.h
@@ -335,12 +335,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
335 335
336#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 336#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
337 337
338#else /* CONFIG_64BIT */
339
340#include <asm-generic/atomic64.h>
341
342#endif /* !CONFIG_64BIT */ 338#endif /* !CONFIG_64BIT */
343 339
344#include <asm-generic/atomic-long.h>
345 340
346#endif /* _ASM_PARISC_ATOMIC_H_ */ 341#endif /* _ASM_PARISC_ATOMIC_H_ */
diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
index 952e161fbb89..e2a4c26ad377 100644
--- a/arch/powerpc/include/asm/atomic.h
+++ b/arch/powerpc/include/asm/atomic.h
@@ -469,11 +469,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
469 469
470#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 470#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
471 471
472#else /* __powerpc64__ */
473#include <asm-generic/atomic64.h>
474
475#endif /* __powerpc64__ */ 472#endif /* __powerpc64__ */
476 473
477#include <asm-generic/atomic-long.h>
478#endif /* __KERNEL__ */ 474#endif /* __KERNEL__ */
479#endif /* _ASM_POWERPC_ATOMIC_H_ */ 475#endif /* _ASM_POWERPC_ATOMIC_H_ */
diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h
index 7b0b0a7193e5..8517d2ae3b5c 100644
--- a/arch/s390/include/asm/atomic.h
+++ b/arch/s390/include/asm/atomic.h
@@ -331,6 +331,4 @@ static inline long long atomic64_dec_if_positive(atomic64_t *v)
331#define smp_mb__before_atomic_inc() smp_mb() 331#define smp_mb__before_atomic_inc() smp_mb()
332#define smp_mb__after_atomic_inc() smp_mb() 332#define smp_mb__after_atomic_inc() smp_mb()
333 333
334#include <asm-generic/atomic-long.h>
335
336#endif /* __ARCH_S390_ATOMIC__ */ 334#endif /* __ARCH_S390_ATOMIC__ */
diff --git a/arch/sh/include/asm/atomic.h b/arch/sh/include/asm/atomic.h
index 2177596d4b38..63a27dbc952e 100644
--- a/arch/sh/include/asm/atomic.h
+++ b/arch/sh/include/asm/atomic.h
@@ -67,7 +67,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
67#define smp_mb__before_atomic_inc() smp_mb() 67#define smp_mb__before_atomic_inc() smp_mb()
68#define smp_mb__after_atomic_inc() smp_mb() 68#define smp_mb__after_atomic_inc() smp_mb()
69 69
70#include <asm-generic/atomic-long.h>
71#include <asm-generic/atomic64.h>
72
73#endif /* __ASM_SH_ATOMIC_H */ 70#endif /* __ASM_SH_ATOMIC_H */
diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h
index bdce95e77f85..5c3c8b69884d 100644
--- a/arch/sparc/include/asm/atomic_32.h
+++ b/arch/sparc/include/asm/atomic_32.h
@@ -160,5 +160,4 @@ static inline int __atomic24_sub(int i, atomic24_t *v)
160 160
161#endif /* !(__KERNEL__) */ 161#endif /* !(__KERNEL__) */
162 162
163#include <asm-generic/atomic-long.h>
164#endif /* !(__ARCH_SPARC_ATOMIC__) */ 163#endif /* !(__ARCH_SPARC_ATOMIC__) */
diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h
index 1fc3d0a62d66..9f421df46aec 100644
--- a/arch/sparc/include/asm/atomic_64.h
+++ b/arch/sparc/include/asm/atomic_64.h
@@ -113,5 +113,4 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)
113#define smp_mb__before_atomic_inc() barrier() 113#define smp_mb__before_atomic_inc() barrier()
114#define smp_mb__after_atomic_inc() barrier() 114#define smp_mb__after_atomic_inc() barrier()
115 115
116#include <asm-generic/atomic-long.h>
117#endif /* !(__ARCH_SPARC64_ATOMIC__) */ 116#endif /* !(__ARCH_SPARC64_ATOMIC__) */
diff --git a/arch/tile/include/asm/atomic.h b/arch/tile/include/asm/atomic.h
index e3272715c3cb..921dbeb8a70c 100644
--- a/arch/tile/include/asm/atomic.h
+++ b/arch/tile/include/asm/atomic.h
@@ -177,9 +177,4 @@ extern unsigned long __cmpxchg_called_with_bad_pointer(void);
177#include <asm/atomic_64.h> 177#include <asm/atomic_64.h>
178#endif 178#endif
179 179
180/* Provide the appropriate atomic_long_t definitions. */
181#ifndef __ASSEMBLY__
182#include <asm-generic/atomic-long.h>
183#endif
184
185#endif /* _ASM_TILE_ATOMIC_H */ 180#endif /* _ASM_TILE_ATOMIC_H */
diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
index 5fe9cb335cd2..10572e309ab2 100644
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@ -318,5 +318,4 @@ static inline void atomic_or_long(unsigned long *v1, unsigned long v2)
318# include "atomic64_64.h" 318# include "atomic64_64.h"
319#endif 319#endif
320 320
321#include <asm-generic/atomic-long.h>
322#endif /* _ASM_X86_ATOMIC_H */ 321#endif /* _ASM_X86_ATOMIC_H */
diff --git a/arch/xtensa/include/asm/atomic.h b/arch/xtensa/include/asm/atomic.h
index e464212f9ee6..23592eff67ad 100644
--- a/arch/xtensa/include/asm/atomic.h
+++ b/arch/xtensa/include/asm/atomic.h
@@ -291,7 +291,6 @@ static inline void atomic_set_mask(unsigned int mask, atomic_t *v)
291#define smp_mb__before_atomic_inc() barrier() 291#define smp_mb__before_atomic_inc() barrier()
292#define smp_mb__after_atomic_inc() barrier() 292#define smp_mb__after_atomic_inc() barrier()
293 293
294#include <asm-generic/atomic-long.h>
295#endif /* __KERNEL__ */ 294#endif /* __KERNEL__ */
296 295
297#endif /* _XTENSA_ATOMIC_H */ 296#endif /* _XTENSA_ATOMIC_H */