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

Commit 746c28e1 authored by Benjamin Romer's avatar Benjamin Romer Committed by Greg Kroah-Hartman
Browse files

staging: unisys: get rid of uiscmpxchg64



Remove the uiscmpxchg64 macro from uisqueue.h and uisqueue.c.

Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 52d13a61
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -423,19 +423,4 @@ struct guest_msgs {

};

#ifndef __xg
#define __xg(x) ((volatile long *)(x))
#endif

/*
*  Below code is a copy of Linux kernel's cmpxchg function located at
*  this place
*  http://tcsxeon:8080/source/xref/00trunk-AppOS-linux/include/asm-x86/cmpxchg_64.h#84
*  Reason for creating our own version of cmpxchg along with
*  UISLIB_LOCK_PREFIX is to make the operation atomic even for non SMP
*  guests.
*/

#define uislibcmpxchg64(p, o, n, s) cmpxchg(p, o, n)

#endif				/* __UISQUEUE_H__ */
+2 −4
Original line number Diff line number Diff line
@@ -43,8 +43,7 @@ uisqueue_InterlockedOr(unsigned long long __iomem *Target,
	j = readq(Target);
	do {
		i = j;
		j = uislibcmpxchg64((__force unsigned long long *)Target,
				    i, i | Set, sizeof(*(Target)));
		j = cmpxchg((__force unsigned long long *)Target, i, i | Set);

	} while (i != j);

@@ -62,8 +61,7 @@ uisqueue_InterlockedAnd(unsigned long long __iomem *Target,
	j = readq(Target);
	do {
		i = j;
		j = uislibcmpxchg64((__force unsigned long long *)Target,
				    i, i & Set, sizeof(*(Target)));
		j = cmpxchg((__force unsigned long long *)Target, i, i & Set);

	} while (i != j);