Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec221208 authored by David Howells's avatar David Howells
Browse files

Disintegrate asm/system.h for Alpha



Disintegrate asm/system.h for Alpha.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
cc: linux-alpha@vger.kernel.org
parent f05e798a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@
#include <generated/utsrelease.h>
#include <linux/mm.h>

#include <asm/system.h>
#include <asm/console.h>
#include <asm/hwrpb.h>
#include <asm/pgtable.h>
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
#include <generated/utsrelease.h>
#include <linux/mm.h>

#include <asm/system.h>
#include <asm/console.h>
#include <asm/hwrpb.h>
#include <asm/pgtable.h>
+0 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@
 * initial bootloader stuff..
 */

#include <asm/system.h>

	.set noreorder
	.globl	__start
+0 −1
Original line number Diff line number Diff line
@@ -11,7 +11,6 @@
#include <generated/utsrelease.h>
#include <linux/mm.h>

#include <asm/system.h>
#include <asm/console.h>
#include <asm/hwrpb.h>
#include <asm/pgtable.h>
+67 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@

#include <linux/types.h>
#include <asm/barrier.h>
#include <asm/system.h>

/*
 * Atomic operations that C can't guarantee us.  Useful for
@@ -169,6 +168,73 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
	return result;
}

/*
 * Atomic exchange routines.
 */

#define __ASM__MB
#define ____xchg(type, args...)		__xchg ## type ## _local(args)
#define ____cmpxchg(type, args...)	__cmpxchg ## type ## _local(args)
#include <asm/xchg.h>

#define xchg_local(ptr,x)						\
  ({									\
     __typeof__(*(ptr)) _x_ = (x);					\
     (__typeof__(*(ptr))) __xchg_local((ptr), (unsigned long)_x_,	\
				       sizeof(*(ptr)));			\
  })

#define cmpxchg_local(ptr, o, n)					\
  ({									\
     __typeof__(*(ptr)) _o_ = (o);					\
     __typeof__(*(ptr)) _n_ = (n);					\
     (__typeof__(*(ptr))) __cmpxchg_local((ptr), (unsigned long)_o_,	\
					  (unsigned long)_n_,		\
					  sizeof(*(ptr)));		\
  })

#define cmpxchg64_local(ptr, o, n)					\
  ({									\
	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
	cmpxchg_local((ptr), (o), (n));					\
  })

#ifdef CONFIG_SMP
#undef __ASM__MB
#define __ASM__MB	"\tmb\n"
#endif
#undef ____xchg
#undef ____cmpxchg
#define ____xchg(type, args...)		__xchg ##type(args)
#define ____cmpxchg(type, args...)	__cmpxchg ##type(args)
#include <asm/xchg.h>

#define xchg(ptr,x)							\
  ({									\
     __typeof__(*(ptr)) _x_ = (x);					\
     (__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_,		\
				 sizeof(*(ptr)));			\
  })

#define cmpxchg(ptr, o, n)						\
  ({									\
     __typeof__(*(ptr)) _o_ = (o);					\
     __typeof__(*(ptr)) _n_ = (n);					\
     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,		\
				    (unsigned long)_n_,	sizeof(*(ptr)));\
  })

#define cmpxchg64(ptr, o, n)						\
  ({									\
	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
	cmpxchg((ptr), (o), (n));					\
  })

#undef __ASM__MB
#undef ____cmpxchg

#define __HAVE_ARCH_CMPXCHG 1

#define atomic64_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), old, new))
#define atomic64_xchg(v, new) (xchg(&((v)->counter), new))

Loading