Commit cf3a13d7 authored by Chen Gang's avatar Chen Gang Committed by Chris Metcalf
Browse files

arch: tile: include: asm: add cmpxchg64() definition



Need add cmpxchg64(), or will cause compiling issue.

Need define it as cmpxchg() only for 64-bit operation, since cmpxchg()
can support 8 bytes.

The related error (with allmodconfig):

  drivers/block/blockconsole.c: In function ‘bcon_advance_console_bytes’:
  drivers/block/blockconsole.c:164:2: error: implicit declaration of function ‘cmpxchg64’ [-Werror=implicit-function-declaration]

Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
parent ad81f054
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -68,6 +68,12 @@ extern unsigned long __cmpxchg_called_with_bad_pointer(void);

#define tas(ptr) (xchg((ptr), 1))

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

#endif /* __ASSEMBLY__ */

#endif /* _ASM_TILE_CMPXCHG_H */