diff options
author | Will Deacon <will.deacon@arm.com> | 2018-06-19 15:53:06 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-06-21 13:52:10 +0300 |
commit | a70cee9737802654bbbddec027d1d57b7ff24a2c (patch) | |
tree | 71bfe99eaf771c9f29bedacbd98fa9cf5f9dfc91 /arch/h8300/include | |
parent | 1abd8a8f39cd9a2925149000056494523c85643a (diff) | |
download | linux-a70cee9737802654bbbddec027d1d57b7ff24a2c.tar.xz |
locking/atomics/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
atomic_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.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: linux-arm-kernel@lists.infradead.org
Cc: yamada.masahiro@socionext.com
Link: https://lore.kernel.org/lkml/1529412794-17720-2-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/h8300/include')
-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 @@ #ifndef __ARCH_H8300_ATOMIC__ #define __ARCH_H8300_ATOMIC__ +#include <linux/compiler.h> #include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/irqflags.h> /* * Atomic operations that C can't guarantee us. Useful for @@ -15,8 +17,6 @@ #define atomic_read(v) READ_ONCE((v)->counter) #define atomic_set(v, i) WRITE_ONCE(((v)->counter), (i)) -#include <linux/kernel.h> - #define ATOMIC_OP_RETURN(op, c_op) \ static inline int atomic_##op##_return(int i, atomic_t *v) \ { \ |