diff options
| -rw-r--r-- | arch/openrisc/Kconfig | 3 | ||||
| -rw-r--r-- | include/asm-generic/atomic.h | 6 | ||||
| -rw-r--r-- | include/asm-generic/cmpxchg.h | 10 | 
3 files changed, 11 insertions, 8 deletions
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 9862d20c4bd..9ab3bf2eca8 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -9,10 +9,9 @@ config OPENRISC  	select OF_EARLY_FLATTREE  	select IRQ_DOMAIN  	select HAVE_MEMBLOCK -	select ARCH_WANT_OPTIONAL_GPIOLIB +	select ARCH_REQUIRE_GPIOLIB          select HAVE_ARCH_TRACEHOOK  	select HAVE_GENERIC_HARDIRQS -	select VIRT_TO_BUS  	select GENERIC_IRQ_CHIP  	select GENERIC_IRQ_PROBE  	select GENERIC_IRQ_SHOW diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index 1ced6413ea0..33bd2de3bc1 100644 --- a/include/asm-generic/atomic.h +++ b/include/asm-generic/atomic.h @@ -136,12 +136,6 @@ static inline void atomic_dec(atomic_t *v)  #define atomic_xchg(ptr, v)		(xchg(&(ptr)->counter, (v)))  #define atomic_cmpxchg(v, old, new)	(cmpxchg(&((v)->counter), (old), (new))) -#define cmpxchg_local(ptr, o, n)				  	       \ -	((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ -			(unsigned long)(n), sizeof(*(ptr)))) - -#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) -  static inline int __atomic_add_unless(atomic_t *v, int a, int u)  {    int c, old; diff --git a/include/asm-generic/cmpxchg.h b/include/asm-generic/cmpxchg.h index 14883026015..811fb1e9b06 100644 --- a/include/asm-generic/cmpxchg.h +++ b/include/asm-generic/cmpxchg.h @@ -92,6 +92,16 @@ unsigned long __xchg(unsigned long x, volatile void *ptr, int size)   */  #include <asm-generic/cmpxchg-local.h> +#ifndef cmpxchg_local +#define cmpxchg_local(ptr, o, n)				  	       \ +	((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ +			(unsigned long)(n), sizeof(*(ptr)))) +#endif + +#ifndef cmpxchg64_local +#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) +#endif +  #define cmpxchg(ptr, o, n)	cmpxchg_local((ptr), (o), (n))  #define cmpxchg64(ptr, o, n)	cmpxchg64_local((ptr), (o), (n))  |