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

Commit af0de781 authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Linus Torvalds
Browse files

m32r: fix build warning

Some m32r builds were having a warning:

  arch/m32r/include/asm/cmpxchg.h:191:3: warning: value computed is not used
  arch/m32r/include/asm/cmpxchg.h:68:3: warning: value computed is not used

Taking the idea from commit e001bbae ("ARM: cmpxchg: avoid warnings
from macro-ized cmpxchg() implementations") the m32r implementation is
changed to use a similar construct with a compound expression instead of
a typecast, which causes the compiler to not complain about an unused
result.

Link: http://lkml.kernel.org/r/1484432664-7015-1-git-send-email-sudipm.mukherjee@gmail.com


Signed-off-by: default avatarSudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6408b6fb
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -64,8 +64,10 @@ __xchg(unsigned long x, volatile void *ptr, int size)
	return (tmp);
}

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

static __always_inline unsigned long
__xchg_local(unsigned long x, volatile void *ptr, int size)
@@ -187,9 +189,12 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
	return old;
}

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

#include <asm-generic/cmpxchg-local.h>