about summary refs log tree commit diff
path: root/arch/mips64/atomic_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips64/atomic_arch.h')
-rw-r--r--arch/mips64/atomic_arch.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips64/atomic_arch.h b/arch/mips64/atomic_arch.h
index 8664e11c..b468fd95 100644
--- a/arch/mips64/atomic_arch.h
+++ b/arch/mips64/atomic_arch.h
@@ -19,22 +19,22 @@ static inline int a_sc(volatile int *p, int v)
 }
 
 #define a_ll_p a_ll_p
-static inline void *a_ll_p(volatile long *p)
+static inline void *a_ll_p(volatile void *p)
 {
 	void *v;
 	__asm__ __volatile__ (
 		"lld %0, %1"
-		: "=r"(v) : "m"(*p));
+		: "=r"(v) : "m"(*(void *volatile *)p));
 	return v;
 }
 
 #define a_sc_p a_sc_p
-static inline int a_sc_p(volatile long *p, void *v)
+static inline int a_sc_p(volatile void *p, void *v)
 {
 	long r;
 	__asm__ __volatile__ (
 		"scd %0, %1"
-		: "=r"(r), "=m"(*p) : "0"(v) : "memory");
+		: "=r"(r), "=m"(*(void *volatile *)p) : "0"(v) : "memory");
 	return r;
 }