MIPS: Export memcpy & memset functions alongside their definitions
authorPaul Burton <paul.burton@imgtec.com>
Mon, 7 Nov 2016 11:14:15 +0000 (11:14 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 3 Jan 2017 15:34:50 +0000 (16:34 +0100)
Now that EXPORT_SYMBOL can be used from assembly source, move the
EXPORT_SYMBOL invocations for the memcpy & memset functions & variants
thereof to be alongside their definitions.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14514/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/octeon-memcpy.S
arch/mips/kernel/mips_ksyms.c
arch/mips/lib/memcpy.S
arch/mips/lib/memset.S

index 64e08df51d65f76b79310b1df6d52e2aa78e2a97..7d96d9c72c7467ff869dc46e72a20d946dd0914e 100644 (file)
@@ -15,6 +15,7 @@
 
 #include <asm/asm.h>
 #include <asm/asm-offsets.h>
+#include <asm/export.h>
 #include <asm/regdef.h>
 
 #define dst a0
  * t7 is used as a flag to note inatomic mode.
  */
 LEAF(__copy_user_inatomic)
+EXPORT_SYMBOL(__copy_user_inatomic)
        b       __copy_user_common
         li     t7, 1
        END(__copy_user_inatomic)
@@ -154,9 +156,11 @@ LEAF(__copy_user_inatomic)
  */
        .align  5
 LEAF(memcpy)                                   /* a0=dst a1=src a2=len */
+EXPORT_SYMBOL(memcpy)
        move    v0, dst                         /* return value */
 __memcpy:
 FEXPORT(__copy_user)
+EXPORT_SYMBOL(__copy_user)
        li      t7, 0                           /* not inatomic */
 __copy_user_common:
        /*
@@ -459,6 +463,7 @@ s_exc:
 
        .align  5
 LEAF(memmove)
+EXPORT_SYMBOL(memmove)
        ADD     t0, a0, a2
        ADD     t1, a1, a2
        sltu    t0, a1, t0                      # dst + len <= src -> memcpy
index a84f75088247b62a35f33324867b29c4537e9fae..f01838faae2bb4b59b298e980bec4c25b154b24a 100644 (file)
 #include <asm/fpu.h>
 #include <asm/msa.h>
 
-extern void *__bzero_kernel(void *__s, size_t __count);
-extern void *__bzero(void *__s, size_t __count);
-
-/*
- * String functions
- */
-EXPORT_SYMBOL(memset);
-EXPORT_SYMBOL(memcpy);
-EXPORT_SYMBOL(memmove);
-
 /*
  * Functions that operate on entire pages.  Mostly used by memory management.
  */
 EXPORT_SYMBOL(clear_page);
 EXPORT_SYMBOL(copy_page);
-
-/*
- * Userspace access stuff.
- */
-EXPORT_SYMBOL(__copy_user);
-EXPORT_SYMBOL(__copy_user_inatomic);
-#ifdef CONFIG_EVA
-EXPORT_SYMBOL(__copy_from_user_eva);
-EXPORT_SYMBOL(__copy_in_user_eva);
-EXPORT_SYMBOL(__copy_to_user_eva);
-EXPORT_SYMBOL(__copy_user_inatomic_eva);
-EXPORT_SYMBOL(__bzero_kernel);
-#endif
-EXPORT_SYMBOL(__bzero);
index 6c303a94a196a32255269b3395c37d41ed15b464..c3031f18c572ebd529394208e5d51bc33f68e46e 100644 (file)
@@ -31,6 +31,7 @@
 
 #include <asm/asm.h>
 #include <asm/asm-offsets.h>
+#include <asm/export.h>
 #include <asm/regdef.h>
 
 #define dst a0
@@ -622,6 +623,7 @@ SEXC(1)
 
        .align  5
 LEAF(memmove)
+EXPORT_SYMBOL(memmove)
        ADD     t0, a0, a2
        ADD     t1, a1, a2
        sltu    t0, a1, t0                      # dst + len <= src -> memcpy
@@ -674,6 +676,7 @@ LEAF(__rmemcpy)                                     /* a0=dst a1=src a2=len */
  * t6 is used as a flag to note inatomic mode.
  */
 LEAF(__copy_user_inatomic)
+EXPORT_SYMBOL(__copy_user_inatomic)
        b       __copy_user_common
        li      t6, 1
        END(__copy_user_inatomic)
@@ -686,9 +689,11 @@ LEAF(__copy_user_inatomic)
  */
        .align  5
 LEAF(memcpy)                                   /* a0=dst a1=src a2=len */
+EXPORT_SYMBOL(memcpy)
        move    v0, dst                         /* return value */
 .L__memcpy:
 FEXPORT(__copy_user)
+EXPORT_SYMBOL(__copy_user)
        li      t6, 0   /* not inatomic */
 __copy_user_common:
        /* Legacy Mode, user <-> user */
@@ -704,6 +709,7 @@ __copy_user_common:
  */
 
 LEAF(__copy_user_inatomic_eva)
+EXPORT_SYMBOL(__copy_user_inatomic_eva)
        b       __copy_from_user_common
        li      t6, 1
        END(__copy_user_inatomic_eva)
@@ -713,6 +719,7 @@ LEAF(__copy_user_inatomic_eva)
  */
 
 LEAF(__copy_from_user_eva)
+EXPORT_SYMBOL(__copy_from_user_eva)
        li      t6, 0   /* not inatomic */
 __copy_from_user_common:
        __BUILD_COPY_USER EVA_MODE USEROP KERNELOP
@@ -725,6 +732,7 @@ END(__copy_from_user_eva)
  */
 
 LEAF(__copy_to_user_eva)
+EXPORT_SYMBOL(__copy_to_user_eva)
 __BUILD_COPY_USER EVA_MODE KERNELOP USEROP
 END(__copy_to_user_eva)
 
@@ -733,6 +741,7 @@ END(__copy_to_user_eva)
  */
 
 LEAF(__copy_in_user_eva)
+EXPORT_SYMBOL(__copy_in_user_eva)
 __BUILD_COPY_USER EVA_MODE USEROP USEROP
 END(__copy_in_user_eva)
 
index 18a1ccd4d1348c0134ed9d755512b66d1f54779d..a1456664d6c28c9ccc8f837e341fe1a760b3c2d6 100644 (file)
@@ -10,6 +10,7 @@
  */
 #include <asm/asm.h>
 #include <asm/asm-offsets.h>
+#include <asm/export.h>
 #include <asm/regdef.h>
 
 #if LONGSIZE == 4
  */
 
 LEAF(memset)
+EXPORT_SYMBOL(memset)
        beqz            a1, 1f
        move            v0, a0                  /* result */
 
@@ -285,13 +287,16 @@ LEAF(memset)
 1:
 #ifndef CONFIG_EVA
 FEXPORT(__bzero)
+EXPORT_SYMBOL(__bzero)
 #else
 FEXPORT(__bzero_kernel)
+EXPORT_SYMBOL(__bzero_kernel)
 #endif
        __BUILD_BZERO LEGACY_MODE
 
 #ifdef CONFIG_EVA
 LEAF(__bzero)
+EXPORT_SYMBOL(__bzero)
        __BUILD_BZERO EVA_MODE
 END(__bzero)
 #endif