]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/percpu: Unify __pcpu_op{1,2}_N() macros to __pcpu_op_N()
authorUros Bizjak <ubizjak@gmail.com>
Mon, 24 Feb 2025 07:16:34 +0000 (08:16 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 24 Feb 2025 19:41:59 +0000 (20:41 +0100)
Unify __pcpu_op1_N() and __pcpu_op2_N() macros to __pcpu_op_N()
by applying the macro only to asm mnemonic, not to the mnemonic
plus its arguments.

No functional change intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250224071648.15913-1-ubizjak@gmail.com
arch/x86/include/asm/percpu.h

index 1a76eb87c5d86293bc09acd06ceba4b4abb6809a..c2a9dfce36a57ca009c45fa2480165f2c70a76f1 100644 (file)
 #define __pcpu_cast_4(val)     ((u32)(((unsigned long) val) & 0xffffffff))
 #define __pcpu_cast_8(val)     ((u64)(val))
 
-#define __pcpu_op1_1(op, dst)  op "b " dst
-#define __pcpu_op1_2(op, dst)  op "w " dst
-#define __pcpu_op1_4(op, dst)  op "l " dst
-#define __pcpu_op1_8(op, dst)  op "q " dst
-
-#define __pcpu_op2_1(op, src, dst) op "b " src ", " dst
-#define __pcpu_op2_2(op, src, dst) op "w " src ", " dst
-#define __pcpu_op2_4(op, src, dst) op "l " src ", " dst
-#define __pcpu_op2_8(op, src, dst) op "q " src ", " dst
+#define __pcpu_op_1(op)                op "b "
+#define __pcpu_op_2(op)                op "w "
+#define __pcpu_op_4(op)                op "l "
+#define __pcpu_op_8(op)                op "q "
 
 #define __pcpu_reg_1(mod, x)   mod "q" (x)
 #define __pcpu_reg_2(mod, x)   mod "r" (x)
@@ -146,7 +141,8 @@ do {                                                                        \
 ({                                                                     \
        __pcpu_type_##size pfo_val__;                                   \
                                                                        \
-       asm qual (__pcpu_op2_##size("mov", __percpu_arg([var]), "%[val]") \
+       asm qual (__pcpu_op_##size("mov")                               \
+                 __percpu_arg([var]) ", %[val]"                        \
            : [val] __pcpu_reg_##size("=", pfo_val__)                   \
            : [var] "m" (__my_cpu_var(_var)));                          \
                                                                        \
@@ -162,7 +158,8 @@ do {                                                                        \
                pto_tmp__ = (_val);                                     \
                (void)pto_tmp__;                                        \
        }                                                               \
-       asm qual(__pcpu_op2_##size("mov", "%[val]", __percpu_arg([var])) \
+       asm qual (__pcpu_op_##size("mov") "%[val], "                    \
+                 __percpu_arg([var])                                   \
            : [var] "=m" (__my_cpu_var(_var))                           \
            : [val] __pcpu_reg_imm_##size(pto_val__));                  \
 } while (0)
@@ -179,7 +176,8 @@ do {                                                                        \
 ({                                                                     \
        __pcpu_type_##size pfo_val__;                                   \
                                                                        \
-       asm(__pcpu_op2_##size("mov", __force_percpu_arg(a[var]), "%[val]") \
+       asm(__pcpu_op_##size("mov")                                     \
+           __force_percpu_arg(a[var]) ", %[val]"                       \
            : [val] __pcpu_reg_##size("=", pfo_val__)                   \
            : [var] "i" (&(_var)));                                     \
                                                                        \
@@ -188,7 +186,7 @@ do {                                                                        \
 
 #define percpu_unary_op(size, qual, op, _var)                          \
 ({                                                                     \
-       asm qual (__pcpu_op1_##size(op, __percpu_arg([var]))            \
+       asm qual (__pcpu_op_##size(op) __percpu_arg([var])              \
            : [var] "+m" (__my_cpu_var(_var)));                         \
 })
 
@@ -201,7 +199,7 @@ do {                                                                        \
                pto_tmp__ = (_val);                                     \
                (void)pto_tmp__;                                        \
        }                                                               \
-       asm qual(__pcpu_op2_##size(op, "%[val]", __percpu_arg([var]))   \
+       asm qual (__pcpu_op_##size(op) "%[val], " __percpu_arg([var])   \
            : [var] "+m" (__my_cpu_var(_var))                           \
            : [val] __pcpu_reg_imm_##size(pto_val__));                  \
 } while (0)
@@ -237,8 +235,8 @@ do {                                                                        \
 ({                                                                     \
        __pcpu_type_##size paro_tmp__ = __pcpu_cast_##size(_val);       \
                                                                        \
-       asm qual (__pcpu_op2_##size("xadd", "%[tmp]",                   \
-                                    __percpu_arg([var]))               \
+       asm qual (__pcpu_op_##size("xadd") "%[tmp], "                   \
+                 __percpu_arg([var])                                   \
                  : [tmp] __pcpu_reg_##size("+", paro_tmp__),           \
                    [var] "+m" (__my_cpu_var(_var))                     \
                  : : "memory");                                        \
@@ -281,8 +279,8 @@ do {                                                                        \
        __pcpu_type_##size pco_old__ = __pcpu_cast_##size(_oval);       \
        __pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval);       \
                                                                        \
-       asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]",               \
-                                   __percpu_arg([var]))                \
+       asm qual (__pcpu_op_##size("cmpxchg") "%[nval], "               \
+                 __percpu_arg([var])                                   \
                  : [oval] "+a" (pco_old__),                            \
                    [var] "+m" (__my_cpu_var(_var))                     \
                  : [nval] __pcpu_reg_##size(, pco_new__)               \
@@ -298,8 +296,8 @@ do {                                                                        \
        __pcpu_type_##size pco_old__ = *pco_oval__;                     \
        __pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval);       \
                                                                        \
-       asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]",               \
-                                   __percpu_arg([var]))                \
+       asm qual (__pcpu_op_##size("cmpxchg") "%[nval], "               \
+                 __percpu_arg([var])                                   \
                  CC_SET(z)                                             \
                  : CC_OUT(z) (success),                                \
                    [oval] "+a" (pco_old__),                            \