metag: move EXPORT_SYMBOL(csum_partial) to metag_ksyms.c
authorJames Hogan <james.hogan@imgtec.com>
Thu, 4 Jul 2013 08:47:45 +0000 (09:47 +0100)
committerJames Hogan <james.hogan@imgtec.com>
Thu, 4 Jul 2013 09:00:02 +0000 (10:00 +0100)
Move EXPORT_SYMBOL(csum_partial) from lib/checksum.c into metag_ksyms.c
so that it doesn't get omitted by the static linker if it's not used by
any other statically linked code, which can result in undefined symbols
when building modules.

For example a randconfig caused the following error:
ERROR: "csum_partial" [fs/reiserfs/reiserfs.ko] undefined!

Signed-off-by: James Hogan <james.hogan@imgtec.com>
arch/metag/kernel/metag_ksyms.c
arch/metag/lib/checksum.c

index ec872ef..215c94a 100644 (file)
@@ -1,5 +1,7 @@
 #include <linux/export.h>
+#include <linux/types.h>
 
+#include <asm/checksum.h>
 #include <asm/div64.h>
 #include <asm/ftrace.h>
 #include <asm/page.h>
@@ -15,6 +17,9 @@ EXPORT_SYMBOL(max_pfn);
 EXPORT_SYMBOL(min_low_pfn);
 #endif
 
+/* Network checksum functions */
+EXPORT_SYMBOL(csum_partial);
+
 /* TBI symbols */
 EXPORT_SYMBOL(__TBI);
 EXPORT_SYMBOL(__TBIFindSeg);
index 44d2e19..5d6a98a 100644 (file)
@@ -124,7 +124,6 @@ __wsum csum_partial(const void *buff, int len, __wsum wsum)
                result += 1;
        return (__force __wsum)result;
 }
-EXPORT_SYMBOL(csum_partial);
 
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly