diff mbox series

[v2,1/9] h8300: Don't include linux/kernel.h in asm/atomic.h

Message ID 1527869189-31512-2-git-send-email-will.deacon@arm.com
State Superseded
Headers show
Series Rewrite asm-generic/bitops/{atomic,lock}.h and use on arm64 | expand

Commit Message

Will Deacon June 1, 2018, 4:06 p.m. UTC
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>

---
 arch/h8300/include/asm/atomic.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.1.4

Comments

Yoshinori Sato July 22, 2018, 2:06 p.m. UTC | #1
On Sat, 02 Jun 2018 01:06:21 +0900,
Will Deacon wrote:
> 

> 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>

> ---

>  arch/h8300/include/asm/atomic.h | 4 ++--

>  1 file 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)	\

>  {								\

> -- 

> 2.1.4

> 


Please ignore previous mail.
Applied this fix.

Thanks.

-- 
Yosinori Sato
diff mbox series

Patch

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)	\
 {								\