sparc64: propagate the calling convention changes down to __csum_partial_copy_...()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 19 Jul 2020 22:31:07 +0000 (18:31 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 20 Aug 2020 19:45:21 +0000 (15:45 -0400)
... and rename them into csum_and_copy_...() - the wrappers become pointless.
[braino fixed]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/sparc/include/asm/checksum.h
arch/sparc/include/asm/checksum_32.h
arch/sparc/include/asm/checksum_64.h
arch/sparc/lib/csum_copy.S
arch/sparc/lib/csum_copy_from_user.S
arch/sparc/lib/csum_copy_to_user.S

index deb4fe5..f2ac133 100644 (file)
@@ -3,6 +3,7 @@
 #define ___ASM_SPARC_CHECKSUM_H
 #define _HAVE_ARCH_CSUM_AND_COPY
 #define _HAVE_ARCH_COPY_AND_CSUM_FROM_USER
+#define HAVE_CSUM_COPY_USER
 #if defined(__sparc__) && defined(__arch64__)
 #include <asm/checksum_64.h>
 #else
index d55e480..ce11e0a 100644 (file)
@@ -67,8 +67,6 @@ csum_and_copy_from_user(const void __user *src, void *dst, int len)
        return csum_partial_copy_nocheck((__force void *)src, dst, len);
 }
 
-#define HAVE_CSUM_COPY_USER
-
 static inline __wsum
 csum_and_copy_to_user(const void *src, void __user *dst, int len)
 {
index 4d0bbff..d6b5946 100644 (file)
@@ -38,44 +38,9 @@ __wsum csum_partial(const void * buff, int len, __wsum sum);
  * here even more important to align src and dst on a 32-bit (or even
  * better 64-bit) boundary
  */
-__wsum __csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum);
-
-static inline __wsum csum_partial_copy_nocheck(const void *src, void *dst, int len)
-{
-       return __csum_partial_copy_nocheck(src, dst, len, 0);
-}
-
-long __csum_partial_copy_from_user(const void __user *src,
-                                  void *dst, int len,
-                                  __wsum sum);
-
-static inline __wsum
-csum_and_copy_from_user(const void __user *src,
-                           void *dst, int len)
-{
-       long ret = __csum_partial_copy_from_user(src, dst, len, ~0U);
-       if (ret < 0)
-               return 0;
-       return (__force __wsum) ret;
-}
-
-/*
- *     Copy and checksum to user
- */
-#define HAVE_CSUM_COPY_USER
-long __csum_partial_copy_to_user(const void *src,
-                                void __user *dst, int len,
-                                __wsum sum);
-
-static inline __wsum
-csum_and_copy_to_user(const void *src,
-                     void __user *dst, int len)
-{
-       long ret = __csum_partial_copy_to_user(src, dst, len, ~0U);
-       if (ret < 0)
-               return 0;
-       return (__force __wsum) ret;
-}
+__wsum csum_partial_copy_nocheck(const void *src, void *dst, int len);
+__wsum csum_and_copy_from_user(const void __user *src, void *dst, int len);
+__wsum csum_and_copy_to_user(const void *src, void __user *dst, int len);
 
 /* ihl is always 5 or greater, almost always is 5, and iph is word aligned
  * the majority of the time.
index 72c900d..0c0268e 100644 (file)
@@ -33,7 +33,7 @@
 #endif
 
 #ifndef FUNC_NAME
-#define FUNC_NAME      __csum_partial_copy_nocheck
+#define FUNC_NAME      csum_partial_copy_nocheck
 #endif
 
        .register       %g2, #scratch
        .globl          FUNC_NAME
        .type           FUNC_NAME,#function
        EXPORT_SYMBOL(FUNC_NAME)
-FUNC_NAME:             /* %o0=src, %o1=dst, %o2=len, %o3=sum */
+FUNC_NAME:             /* %o0=src, %o1=dst, %o2=len */
        LOAD(prefetch, %o0 + 0x000, #n_reads)
        xor             %o0, %o1, %g1
+       mov             1, %o3
        clr             %o4
        andcc           %g1, 0x3, %g0
        bne,pn          %icc, 95f
index d20b959..b0ba8d4 100644 (file)
@@ -9,14 +9,14 @@
        .section .fixup, "ax";  \
        .align 4;               \
 99:    retl;                   \
-        mov    -1, %o0;        \
+        mov    0, %o0;         \
        .section __ex_table,"a";\
        .align 4;               \
        .word 98b, 99b;         \
        .text;                  \
        .align 4;
 
-#define FUNC_NAME              __csum_partial_copy_from_user
+#define FUNC_NAME              csum_and_copy_from_user
 #define LOAD(type,addr,dest)   type##a [addr] %asi, dest
 
 #include "csum_copy.S"
index d71c0c8..91ba36d 100644 (file)
@@ -9,14 +9,14 @@
        .section .fixup,"ax";   \
        .align 4;               \
 99:    retl;                   \
-        mov    -1, %o0;        \
+        mov    0, %o0;         \
        .section __ex_table,"a";\
        .align 4;               \
        .word 98b, 99b;         \
        .text;                  \
        .align 4;
 
-#define FUNC_NAME              __csum_partial_copy_to_user
+#define FUNC_NAME              csum_and_copy_to_user
 #define STORE(type,src,addr)   type##a src, [addr] %asi
 
 #include "csum_copy.S"