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

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
...@@ -68,6 +68,12 @@ extern unsigned long __cmpxchg_called_with_bad_pointer(void); ...@@ -68,6 +68,12 @@ extern unsigned long __cmpxchg_called_with_bad_pointer(void);
#define tas(ptr) (xchg((ptr), 1)) #define tas(ptr) (xchg((ptr), 1))
#define cmpxchg64(ptr, o, n) \
({ \
BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
cmpxchg((ptr), (o), (n)); \
})
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* _ASM_TILE_CMPXCHG_H */ #endif /* _ASM_TILE_CMPXCHG_H */
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