Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7847777a authored by Arun Sharma's avatar Arun Sharma Committed by Linus Torvalds
Browse files

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: default avatarArun 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: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent f24219b4
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -255,5 +255,4 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
#define smp_mb__before_atomic_inc()	smp_mb()
#define smp_mb__before_atomic_inc()	smp_mb()
#define smp_mb__after_atomic_inc()	smp_mb()
#define smp_mb__after_atomic_inc()	smp_mb()


#include <asm-generic/atomic-long.h>
#endif /* _ALPHA_ATOMIC_H */
#endif /* _ALPHA_ATOMIC_H */
+1 −4
Original line number Original line Diff line number Diff line
@@ -459,9 +459,6 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
#define atomic64_dec_and_test(v)	(atomic64_dec_return((v)) == 0)
#define atomic64_dec_and_test(v)	(atomic64_dec_return((v)) == 0)
#define atomic64_inc_not_zero(v)	atomic64_add_unless((v), 1LL, 0LL)
#define atomic64_inc_not_zero(v)	atomic64_add_unless((v), 1LL, 0LL)


#else /* !CONFIG_GENERIC_ATOMIC64 */
#endif /* !CONFIG_GENERIC_ATOMIC64 */
#include <asm-generic/atomic64.h>
#endif
#include <asm-generic/atomic-long.h>
#endif
#endif
#endif
#endif
+0 −2
Original line number Original line Diff line number Diff line
@@ -188,6 +188,4 @@ static inline int atomic_sub_if_positive(int i, atomic_t *v)
#define smp_mb__before_atomic_inc()	barrier()
#define smp_mb__before_atomic_inc()	barrier()
#define smp_mb__after_atomic_inc()	barrier()
#define smp_mb__after_atomic_inc()	barrier()


#include <asm-generic/atomic-long.h>

#endif /*  __ASM_AVR32_ATOMIC_H */
#endif /*  __ASM_AVR32_ATOMIC_H */
+0 −3
Original line number Original line Diff line number Diff line
@@ -111,10 +111,7 @@ static inline void atomic_set_mask(int mask, atomic_t *v)
#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)


#include <asm-generic/atomic-long.h>


#endif
#endif


#include <asm-generic/atomic64.h>

#endif
#endif
+0 −1
Original line number Original line Diff line number Diff line
@@ -157,5 +157,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
#define smp_mb__before_atomic_inc()    barrier()
#define smp_mb__before_atomic_inc()    barrier()
#define smp_mb__after_atomic_inc()     barrier()
#define smp_mb__after_atomic_inc()     barrier()


#include <asm-generic/atomic-long.h>
#endif
#endif
Loading