]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ARC: build: Use __force to suppress per-CPU cmpxchg warnings
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 9 Oct 2024 17:55:13 +0000 (10:55 -0700)
committerVineet Gupta <vgupta@kernel.org>
Tue, 10 Dec 2024 18:12:56 +0000 (10:12 -0800)
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 <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202409251336.ToC0TvWB-lkp@intel.com/
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: <linux-snps-arc@lists.infradead.org>
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
arch/arc/include/asm/cmpxchg.h

index 58045c898340458da6e8e02f653ace55a05253c9..76f43db0890fcd0caa79a0644731723b734a306a 100644 (file)
@@ -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_);                      \