It is unusual to reference __cmpxchg() from other files than cmpxchg.h and similar. Instead, cmpxchg() is used, which expands to __cmpxchg() and derives the 'size' parameter automatically with sizeof(*(ptr)).
So clean up the lock_cmos() function by using cmpxchg(), without changing the generated code. Signed-off-by: Philipp Klocke <philipp9...@gmail.com> --- This patch was acked by Ingo, so I would expect it to be added to pit. arch/x86/include/asm/mc146818rtc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/include/asm/mc146818rtc.h b/arch/x86/include/asm/mc146818rtc.h index 97198001e567..b72e3bbba0a2 100644 --- a/arch/x86/include/asm/mc146818rtc.h +++ b/arch/x86/include/asm/mc146818rtc.h @@ -47,7 +47,7 @@ static inline void lock_cmos(unsigned char reg) cpu_relax(); continue; } - if (__cmpxchg(&cmos_lock, 0, new, sizeof(cmos_lock)) == 0) + if (cmpxchg(&cmos_lock, 0, new) == 0) return; } } -- 2.19.1