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>
This commit is contained in:
parent
ec3d5f1658
commit
9819d4e47e
|
@ -2,8 +2,10 @@
|
||||||
#ifndef __ARCH_H8300_ATOMIC__
|
#ifndef __ARCH_H8300_ATOMIC__
|
||||||
#define __ARCH_H8300_ATOMIC__
|
#define __ARCH_H8300_ATOMIC__
|
||||||
|
|
||||||
|
#include <linux/compiler.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <asm/cmpxchg.h>
|
#include <asm/cmpxchg.h>
|
||||||
|
#include <asm/irqflags.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Atomic operations that C can't guarantee us. Useful for
|
* Atomic operations that C can't guarantee us. Useful for
|
||||||
|
@ -15,8 +17,6 @@
|
||||||
#define atomic_read(v) READ_ONCE((v)->counter)
|
#define atomic_read(v) READ_ONCE((v)->counter)
|
||||||
#define atomic_set(v, i) WRITE_ONCE(((v)->counter), (i))
|
#define atomic_set(v, i) WRITE_ONCE(((v)->counter), (i))
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
|
||||||
|
|
||||||
#define ATOMIC_OP_RETURN(op, c_op) \
|
#define ATOMIC_OP_RETURN(op, c_op) \
|
||||||
static inline int atomic_##op##_return(int i, atomic_t *v) \
|
static inline int atomic_##op##_return(int i, atomic_t *v) \
|
||||||
{ \
|
{ \
|
||||||
|
|
Loading…
Reference in New Issue