diff options
author | Will Deacon <will.deacon@arm.com> | 2018-06-01 12:06:21 -0400 |
---|---|---|
committer | Yoshinori Sato <ysato@users.sourceforge.jp> | 2018-08-22 06:14:20 -0400 |
commit | 9819d4e47e88af3d7f082af61b55cb381f23f1a1 (patch) | |
tree | d5ef3783d2dae70aba412ec08a82e029005b495f | |
parent | ec3d5f1658f44538907b149d6396453e0ceedc60 (diff) |
h8300: Don't include linux/kernel.h in asm/atomic.h
linux/kernel.h isn't needed by asm/atomic.h and will result in circular
dependencies when the asm-generic atomic bitops are built around the
tomic_long_t interface.
Remove the broad include and replace it with linux/compiler.h for
READ_ONCE etc and asm/irqflags.h for arch_local_irq_save etc.
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
-rw-r--r-- | arch/h8300/include/asm/atomic.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/h8300/include/asm/atomic.h b/arch/h8300/include/asm/atomic.h index 941e7554e886..b174dec099bf 100644 --- a/arch/h8300/include/asm/atomic.h +++ b/arch/h8300/include/asm/atomic.h | |||
@@ -2,8 +2,10 @@ | |||
2 | #ifndef __ARCH_H8300_ATOMIC__ | 2 | #ifndef __ARCH_H8300_ATOMIC__ |
3 | #define __ARCH_H8300_ATOMIC__ | 3 | #define __ARCH_H8300_ATOMIC__ |
4 | 4 | ||
5 | #include <linux/compiler.h> | ||
5 | #include <linux/types.h> | 6 | #include <linux/types.h> |
6 | #include <asm/cmpxchg.h> | 7 | #include <asm/cmpxchg.h> |
8 | #include <asm/irqflags.h> | ||
7 | 9 | ||
8 | /* | 10 | /* |
9 | * Atomic operations that C can't guarantee us. Useful for | 11 | * Atomic operations that C can't guarantee us. Useful for |
@@ -15,8 +17,6 @@ | |||
15 | #define atomic_read(v) READ_ONCE((v)->counter) | 17 | #define atomic_read(v) READ_ONCE((v)->counter) |
16 | #define atomic_set(v, i) WRITE_ONCE(((v)->counter), (i)) | 18 | #define atomic_set(v, i) WRITE_ONCE(((v)->counter), (i)) |
17 | 19 | ||
18 | #include <linux/kernel.h> | ||
19 | |||
20 | #define ATOMIC_OP_RETURN(op, c_op) \ | 20 | #define ATOMIC_OP_RETURN(op, c_op) \ |
21 | static inline int atomic_##op##_return(int i, atomic_t *v) \ | 21 | static inline int atomic_##op##_return(int i, atomic_t *v) \ |
22 | { \ | 22 | { \ |