riscv: remove unused __cmpxchg_user() macro
authorJisheng Zhang <jszhang@kernel.org>
Thu, 18 Nov 2021 11:22:00 +0000 (19:22 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 6 Jan 2022 01:52:02 +0000 (17:52 -0800)
This macro is defined but not used, remove it.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/uaccess.h

index f314ff4..9f92195 100644 (file)
@@ -388,81 +388,6 @@ unsigned long __must_check clear_user(void __user *to, unsigned long n)
                __clear_user(to, n) : n;
 }
 
-/*
- * Atomic compare-and-exchange, but with a fixup for userspace faults.  Faults
- * will set "err" to -EFAULT, while successful accesses return the previous
- * value.
- */
-#define __cmpxchg_user(ptr, old, new, err, size, lrb, scb)     \
-({                                                             \
-       __typeof__(ptr) __ptr = (ptr);                          \
-       __typeof__(*(ptr)) __old = (old);                       \
-       __typeof__(*(ptr)) __new = (new);                       \
-       __typeof__(*(ptr)) __ret;                               \
-       __typeof__(err) __err = 0;                              \
-       register unsigned int __rc;                             \
-       __enable_user_access();                                 \
-       switch (size) {                                         \
-       case 4:                                                 \
-               __asm__ __volatile__ (                          \
-               "0:\n"                                          \
-               "       lr.w" #scb " %[ret], %[ptr]\n"          \
-               "       bne          %[ret], %z[old], 1f\n"     \
-               "       sc.w" #lrb " %[rc], %z[new], %[ptr]\n"  \
-               "       bnez         %[rc], 0b\n"               \
-               "1:\n"                                          \
-               ".section .fixup,\"ax\"\n"                      \
-               ".balign 4\n"                                   \
-               "2:\n"                                          \
-               "       li %[err], %[efault]\n"                 \
-               "       jump 1b, %[rc]\n"                       \
-               ".previous\n"                                   \
-               ".section __ex_table,\"a\"\n"                   \
-               ".balign " RISCV_SZPTR "\n"                     \
-               "       " RISCV_PTR " 1b, 2b\n"                 \
-               ".previous\n"                                   \
-                       : [ret] "=&r" (__ret),                  \
-                         [rc]  "=&r" (__rc),                   \
-                         [ptr] "+A" (*__ptr),                  \
-                         [err] "=&r" (__err)                   \
-                       : [old] "rJ" (__old),                   \
-                         [new] "rJ" (__new),                   \
-                         [efault] "i" (-EFAULT));              \
-               break;                                          \
-       case 8:                                                 \
-               __asm__ __volatile__ (                          \
-               "0:\n"                                          \
-               "       lr.d" #scb " %[ret], %[ptr]\n"          \
-               "       bne          %[ret], %z[old], 1f\n"     \
-               "       sc.d" #lrb " %[rc], %z[new], %[ptr]\n"  \
-               "       bnez         %[rc], 0b\n"               \
-               "1:\n"                                          \
-               ".section .fixup,\"ax\"\n"                      \
-               ".balign 4\n"                                   \
-               "2:\n"                                          \
-               "       li %[err], %[efault]\n"                 \
-               "       jump 1b, %[rc]\n"                       \
-               ".previous\n"                                   \
-               ".section __ex_table,\"a\"\n"                   \
-               ".balign " RISCV_SZPTR "\n"                     \
-               "       " RISCV_PTR " 1b, 2b\n"                 \
-               ".previous\n"                                   \
-                       : [ret] "=&r" (__ret),                  \
-                         [rc]  "=&r" (__rc),                   \
-                         [ptr] "+A" (*__ptr),                  \
-                         [err] "=&r" (__err)                   \
-                       : [old] "rJ" (__old),                   \
-                         [new] "rJ" (__new),                   \
-                         [efault] "i" (-EFAULT));              \
-               break;                                          \
-       default:                                                \
-               BUILD_BUG();                                    \
-       }                                                       \
-       __disable_user_access();                                \
-       (err) = __err;                                          \
-       __ret;                                                  \
-})
-
 #define HAVE_GET_KERNEL_NOFAULT
 
 #define __get_kernel_nofault(dst, src, type, err_label)                        \