From: "Paul E. McKenney" <paul...@kernel.org>

[ Upstream commit 1e8af9f04346ecc0bccf0c53b728fc8eb3490a28 ]

Currently, the cast of the first argument to cmpxchg_emu_u8() drops the
__percpu address-space designator, which results in sparse complaints
when applying cmpxchg() to per-CPU variables in ARC.  Therefore, use
__force to suppress these complaints, given that this does not pertain
to cmpxchg() semantics, which are plently well-defined on variables in
general, whether per-CPU or otherwise.

Reported-by: kernel test robot <l...@intel.com>
Closes: 
https://lore.kernel.org/oe-kbuild-all/202409251336.toc0tvwb-...@intel.com/
Signed-off-by: Paul E. McKenney <paul...@kernel.org>
Cc: <linux-snps-arc@lists.infradead.org>
Signed-off-by: Vineet Gupta <vgu...@kernel.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 arch/arc/include/asm/cmpxchg.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arc/include/asm/cmpxchg.h b/arch/arc/include/asm/cmpxchg.h
index 58045c898340..76f43db0890f 100644
--- a/arch/arc/include/asm/cmpxchg.h
+++ b/arch/arc/include/asm/cmpxchg.h
@@ -48,7 +48,7 @@
                                                                        \
        switch(sizeof((_p_))) {                                         \
        case 1:                                                         \
-               _prev_ = (__typeof__(*(ptr)))cmpxchg_emu_u8((volatile u8 *)_p_, 
(uintptr_t)_o_, (uintptr_t)_n_);        \
+               _prev_ = (__typeof__(*(ptr)))cmpxchg_emu_u8((volatile u8 
*__force)_p_, (uintptr_t)_o_, (uintptr_t)_n_); \
                break;                                                  \
        case 4:                                                         \
                _prev_ = __cmpxchg(_p_, _o_, _n_);                      \
-- 
2.39.5


_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

Reply via email to