aboutsummaryrefslogtreecommitdiffstats
path: root/arch/h8300/include/asm/atomic.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2018-06-19 13:53:06 +0100
committerIngo Molnar <mingo@kernel.org>2018-06-21 12:52:10 +0200
commita70cee9737802654bbbddec027d1d57b7ff24a2c (patch)
tree71bfe99eaf771c9f29bedacbd98fa9cf5f9dfc91 /arch/h8300/include/asm/atomic.h
parentMerge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma (diff)
downloadlinux-dev-a70cee9737802654bbbddec027d1d57b7ff24a2c.tar.xz
linux-dev-a70cee9737802654bbbddec027d1d57b7ff24a2c.zip
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 '')
-rw-r--r--arch/h8300/include/asm/atomic.h4
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) \
{ \