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

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
...@@ -423,19 +423,4 @@ struct guest_msgs { ...@@ -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__ */ #endif /* __UISQUEUE_H__ */
...@@ -43,8 +43,7 @@ uisqueue_InterlockedOr(unsigned long long __iomem *Target, ...@@ -43,8 +43,7 @@ uisqueue_InterlockedOr(unsigned long long __iomem *Target,
j = readq(Target); j = readq(Target);
do { do {
i = j; i = j;
j = uislibcmpxchg64((__force unsigned long long *)Target, j = cmpxchg((__force unsigned long long *)Target, i, i | Set);
i, i | Set, sizeof(*(Target)));
} while (i != j); } while (i != j);
...@@ -62,8 +61,7 @@ uisqueue_InterlockedAnd(unsigned long long __iomem *Target, ...@@ -62,8 +61,7 @@ uisqueue_InterlockedAnd(unsigned long long __iomem *Target,
j = readq(Target); j = readq(Target);
do { do {
i = j; i = j;
j = uislibcmpxchg64((__force unsigned long long *)Target, j = cmpxchg((__force unsigned long long *)Target, i, i & Set);
i, i & Set, sizeof(*(Target)));
} while (i != j); } while (i != j);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment