aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-01-13 13:46:22 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2016-08-07 23:47:21 -0400
commit4dd1837d7589f468ed109556513f476e7a7f9121 (patch)
treef04f68cbe8ae40d980d8be35f080c5373170e7c9
parent711f5df7bf3ae7657e15edf76d671042c051ce95 (diff)
arm: move exports to definitions
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/arm/include/asm/Kbuild1
-rw-r--r--arch/arm/kernel/Makefile2
-rw-r--r--arch/arm/kernel/armksyms.c183
-rw-r--r--arch/arm/kernel/entry-ftrace.S3
-rw-r--r--arch/arm/kernel/head.S3
-rw-r--r--arch/arm/kernel/smccc-call.S3
-rw-r--r--arch/arm/lib/ashldi3.S3
-rw-r--r--arch/arm/lib/ashrdi3.S3
-rw-r--r--arch/arm/lib/bitops.h5
-rw-r--r--arch/arm/lib/bswapsdi2.S3
-rw-r--r--arch/arm/lib/clear_user.S4
-rw-r--r--arch/arm/lib/copy_from_user.S2
-rw-r--r--arch/arm/lib/copy_page.S2
-rw-r--r--arch/arm/lib/copy_to_user.S4
-rw-r--r--arch/arm/lib/csumipv6.S3
-rw-r--r--arch/arm/lib/csumpartial.S2
-rw-r--r--arch/arm/lib/csumpartialcopy.S1
-rw-r--r--arch/arm/lib/csumpartialcopygeneric.S2
-rw-r--r--arch/arm/lib/csumpartialcopyuser.S1
-rw-r--r--arch/arm/lib/delay.c2
-rw-r--r--arch/arm/lib/div64.S2
-rw-r--r--arch/arm/lib/findbit.S9
-rw-r--r--arch/arm/lib/getuser.S9
-rw-r--r--arch/arm/lib/io-readsb.S2
-rw-r--r--arch/arm/lib/io-readsl.S2
-rw-r--r--arch/arm/lib/io-readsw-armv3.S3
-rw-r--r--arch/arm/lib/io-readsw-armv4.S2
-rw-r--r--arch/arm/lib/io-writesb.S2
-rw-r--r--arch/arm/lib/io-writesl.S2
-rw-r--r--arch/arm/lib/io-writesw-armv3.S2
-rw-r--r--arch/arm/lib/io-writesw-armv4.S2
-rw-r--r--arch/arm/lib/lib1funcs.S9
-rw-r--r--arch/arm/lib/lshrdi3.S3
-rw-r--r--arch/arm/lib/memchr.S2
-rw-r--r--arch/arm/lib/memcpy.S3
-rw-r--r--arch/arm/lib/memmove.S2
-rw-r--r--arch/arm/lib/memset.S3
-rw-r--r--arch/arm/lib/memzero.S2
-rw-r--r--arch/arm/lib/muldi3.S3
-rw-r--r--arch/arm/lib/putuser.S5
-rw-r--r--arch/arm/lib/strchr.S2
-rw-r--r--arch/arm/lib/strrchr.S2
-rw-r--r--arch/arm/lib/uaccess_with_memcpy.c3
-rw-r--r--arch/arm/lib/ucmpdi2.S3
-rw-r--r--arch/arm/mach-imx/Makefile1
-rw-r--r--arch/arm/mach-imx/ssi-fiq-ksym.c20
-rw-r--r--arch/arm/mach-imx/ssi-fiq.S7
47 files changed, 131 insertions, 208 deletions
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 55e0e3ea9cb6..0745538b26d3 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -8,6 +8,7 @@ generic-y += early_ioremap.h
8generic-y += emergency-restart.h 8generic-y += emergency-restart.h
9generic-y += errno.h 9generic-y += errno.h
10generic-y += exec.h 10generic-y += exec.h
11generic-y += export.h
11generic-y += ioctl.h 12generic-y += ioctl.h
12generic-y += ipcbuf.h 13generic-y += ipcbuf.h
13generic-y += irq_regs.h 14generic-y += irq_regs.h
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index ad325a8c7e1e..68c2c097cffe 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -33,7 +33,7 @@ endif
33obj-$(CONFIG_CPU_IDLE) += cpuidle.o 33obj-$(CONFIG_CPU_IDLE) += cpuidle.o
34obj-$(CONFIG_ISA_DMA_API) += dma.o 34obj-$(CONFIG_ISA_DMA_API) += dma.o
35obj-$(CONFIG_FIQ) += fiq.o fiqasm.o 35obj-$(CONFIG_FIQ) += fiq.o fiqasm.o
36obj-$(CONFIG_MODULES) += armksyms.o module.o 36obj-$(CONFIG_MODULES) += module.o
37obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o 37obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o
38obj-$(CONFIG_ISA_DMA) += dma-isa.o 38obj-$(CONFIG_ISA_DMA) += dma-isa.o
39obj-$(CONFIG_PCI) += bios32.o isa.o 39obj-$(CONFIG_PCI) += bios32.o isa.o
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c
deleted file mode 100644
index 7e45f69a0ddc..000000000000
--- a/arch/arm/kernel/armksyms.c
+++ /dev/null
@@ -1,183 +0,0 @@
1/*
2 * linux/arch/arm/kernel/armksyms.c
3 *
4 * Copyright (C) 2000 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#include <linux/export.h>
11#include <linux/sched.h>
12#include <linux/string.h>
13#include <linux/cryptohash.h>
14#include <linux/delay.h>
15#include <linux/in6.h>
16#include <linux/syscalls.h>
17#include <linux/uaccess.h>
18#include <linux/io.h>
19#include <linux/arm-smccc.h>
20
21#include <asm/checksum.h>
22#include <asm/ftrace.h>
23
24/*
25 * libgcc functions - functions that are used internally by the
26 * compiler... (prototypes are not correct though, but that
27 * doesn't really matter since they're not versioned).
28 */
29extern void __ashldi3(void);
30extern void __ashrdi3(void);
31extern void __divsi3(void);
32extern void __lshrdi3(void);
33extern void __modsi3(void);
34extern void __muldi3(void);
35extern void __ucmpdi2(void);
36extern void __udivsi3(void);
37extern void __umodsi3(void);
38extern void __do_div64(void);
39extern void __bswapsi2(void);
40extern void __bswapdi2(void);
41
42extern void __aeabi_idiv(void);
43extern void __aeabi_idivmod(void);
44extern void __aeabi_lasr(void);
45extern void __aeabi_llsl(void);
46extern void __aeabi_llsr(void);
47extern void __aeabi_lmul(void);
48extern void __aeabi_uidiv(void);
49extern void __aeabi_uidivmod(void);
50extern void __aeabi_ulcmp(void);
51
52extern void fpundefinstr(void);
53
54void mmioset(void *, unsigned int, size_t);
55void mmiocpy(void *, const void *, size_t);
56
57 /* platform dependent support */
58EXPORT_SYMBOL(arm_delay_ops);
59
60 /* networking */
61EXPORT_SYMBOL(csum_partial);
62EXPORT_SYMBOL(csum_partial_copy_from_user);
63EXPORT_SYMBOL(csum_partial_copy_nocheck);
64EXPORT_SYMBOL(__csum_ipv6_magic);
65
66 /* io */
67#ifndef __raw_readsb
68EXPORT_SYMBOL(__raw_readsb);
69#endif
70#ifndef __raw_readsw
71EXPORT_SYMBOL(__raw_readsw);
72#endif
73#ifndef __raw_readsl
74EXPORT_SYMBOL(__raw_readsl);
75#endif
76#ifndef __raw_writesb
77EXPORT_SYMBOL(__raw_writesb);
78#endif
79#ifndef __raw_writesw
80EXPORT_SYMBOL(__raw_writesw);
81#endif
82#ifndef __raw_writesl
83EXPORT_SYMBOL(__raw_writesl);
84#endif
85
86 /* string / mem functions */
87EXPORT_SYMBOL(strchr);
88EXPORT_SYMBOL(strrchr);
89EXPORT_SYMBOL(memset);
90EXPORT_SYMBOL(memcpy);
91EXPORT_SYMBOL(memmove);
92EXPORT_SYMBOL(memchr);
93EXPORT_SYMBOL(__memzero);
94
95EXPORT_SYMBOL(mmioset);
96EXPORT_SYMBOL(mmiocpy);
97
98#ifdef CONFIG_MMU
99EXPORT_SYMBOL(copy_page);
100
101EXPORT_SYMBOL(arm_copy_from_user);
102EXPORT_SYMBOL(arm_copy_to_user);
103EXPORT_SYMBOL(arm_clear_user);
104
105EXPORT_SYMBOL(__get_user_1);
106EXPORT_SYMBOL(__get_user_2);
107EXPORT_SYMBOL(__get_user_4);
108EXPORT_SYMBOL(__get_user_8);
109
110#ifdef __ARMEB__
111EXPORT_SYMBOL(__get_user_64t_1);
112EXPORT_SYMBOL(__get_user_64t_2);
113EXPORT_SYMBOL(__get_user_64t_4);
114EXPORT_SYMBOL(__get_user_32t_8);
115#endif
116
117EXPORT_SYMBOL(__put_user_1);
118EXPORT_SYMBOL(__put_user_2);
119EXPORT_SYMBOL(__put_user_4);
120EXPORT_SYMBOL(__put_user_8);
121#endif
122
123 /* gcc lib functions */
124EXPORT_SYMBOL(__ashldi3);
125EXPORT_SYMBOL(__ashrdi3);
126EXPORT_SYMBOL(__divsi3);
127EXPORT_SYMBOL(__lshrdi3);
128EXPORT_SYMBOL(__modsi3);
129EXPORT_SYMBOL(__muldi3);
130EXPORT_SYMBOL(__ucmpdi2);
131EXPORT_SYMBOL(__udivsi3);
132EXPORT_SYMBOL(__umodsi3);
133EXPORT_SYMBOL(__do_div64);
134EXPORT_SYMBOL(__bswapsi2);
135EXPORT_SYMBOL(__bswapdi2);
136
137#ifdef CONFIG_AEABI
138EXPORT_SYMBOL(__aeabi_idiv);
139EXPORT_SYMBOL(__aeabi_idivmod);
140EXPORT_SYMBOL(__aeabi_lasr);
141EXPORT_SYMBOL(__aeabi_llsl);
142EXPORT_SYMBOL(__aeabi_llsr);
143EXPORT_SYMBOL(__aeabi_lmul);
144EXPORT_SYMBOL(__aeabi_uidiv);
145EXPORT_SYMBOL(__aeabi_uidivmod);
146EXPORT_SYMBOL(__aeabi_ulcmp);
147#endif
148
149 /* bitops */
150EXPORT_SYMBOL(_set_bit);
151EXPORT_SYMBOL(_test_and_set_bit);
152EXPORT_SYMBOL(_clear_bit);
153EXPORT_SYMBOL(_test_and_clear_bit);
154EXPORT_SYMBOL(_change_bit);
155EXPORT_SYMBOL(_test_and_change_bit);
156EXPORT_SYMBOL(_find_first_zero_bit_le);
157EXPORT_SYMBOL(_find_next_zero_bit_le);
158EXPORT_SYMBOL(_find_first_bit_le);
159EXPORT_SYMBOL(_find_next_bit_le);
160
161#ifdef __ARMEB__
162EXPORT_SYMBOL(_find_first_zero_bit_be);
163EXPORT_SYMBOL(_find_next_zero_bit_be);
164EXPORT_SYMBOL(_find_first_bit_be);
165EXPORT_SYMBOL(_find_next_bit_be);
166#endif
167
168#ifdef CONFIG_FUNCTION_TRACER
169#ifdef CONFIG_OLD_MCOUNT
170EXPORT_SYMBOL(mcount);
171#endif
172EXPORT_SYMBOL(__gnu_mcount_nc);
173#endif
174
175#ifdef CONFIG_ARM_PATCH_PHYS_VIRT
176EXPORT_SYMBOL(__pv_phys_pfn_offset);
177EXPORT_SYMBOL(__pv_offset);
178#endif
179
180#ifdef CONFIG_HAVE_ARM_SMCCC
181EXPORT_SYMBOL(arm_smccc_smc);
182EXPORT_SYMBOL(arm_smccc_hvc);
183#endif
diff --git a/arch/arm/kernel/entry-ftrace.S b/arch/arm/kernel/entry-ftrace.S
index c73c4030ca5d..b629d3f11c3d 100644
--- a/arch/arm/kernel/entry-ftrace.S
+++ b/arch/arm/kernel/entry-ftrace.S
@@ -7,6 +7,7 @@
7#include <asm/assembler.h> 7#include <asm/assembler.h>
8#include <asm/ftrace.h> 8#include <asm/ftrace.h>
9#include <asm/unwind.h> 9#include <asm/unwind.h>
10#include <asm/export.h>
10 11
11#include "entry-header.S" 12#include "entry-header.S"
12 13
@@ -153,6 +154,7 @@ ENTRY(mcount)
153 __mcount _old 154 __mcount _old
154#endif 155#endif
155ENDPROC(mcount) 156ENDPROC(mcount)
157EXPORT_SYMBOL(mcount)
156 158
157#ifdef CONFIG_DYNAMIC_FTRACE 159#ifdef CONFIG_DYNAMIC_FTRACE
158ENTRY(ftrace_caller_old) 160ENTRY(ftrace_caller_old)
@@ -205,6 +207,7 @@ UNWIND(.fnstart)
205#endif 207#endif
206UNWIND(.fnend) 208UNWIND(.fnend)
207ENDPROC(__gnu_mcount_nc) 209ENDPROC(__gnu_mcount_nc)
210EXPORT_SYMBOL(__gnu_mcount_nc)
208 211
209#ifdef CONFIG_DYNAMIC_FTRACE 212#ifdef CONFIG_DYNAMIC_FTRACE
210ENTRY(ftrace_caller) 213ENTRY(ftrace_caller)
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 04286fd9e09c..f41cee4c5746 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -22,6 +22,7 @@
22#include <asm/memory.h> 22#include <asm/memory.h>
23#include <asm/thread_info.h> 23#include <asm/thread_info.h>
24#include <asm/pgtable.h> 24#include <asm/pgtable.h>
25#include <asm/export.h>
25 26
26#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) 27#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING)
27#include CONFIG_DEBUG_LL_INCLUDE 28#include CONFIG_DEBUG_LL_INCLUDE
@@ -727,6 +728,8 @@ __pv_phys_pfn_offset:
727__pv_offset: 728__pv_offset:
728 .quad 0 729 .quad 0
729 .size __pv_offset, . -__pv_offset 730 .size __pv_offset, . -__pv_offset
731EXPORT_SYMBOL(__pv_phys_pfn_offset)
732EXPORT_SYMBOL(__pv_offset)
730#endif 733#endif
731 734
732#include "head-common.S" 735#include "head-common.S"
diff --git a/arch/arm/kernel/smccc-call.S b/arch/arm/kernel/smccc-call.S
index 2e48b674aab1..37669e7e13af 100644
--- a/arch/arm/kernel/smccc-call.S
+++ b/arch/arm/kernel/smccc-call.S
@@ -16,6 +16,7 @@
16#include <asm/opcodes-sec.h> 16#include <asm/opcodes-sec.h>
17#include <asm/opcodes-virt.h> 17#include <asm/opcodes-virt.h>
18#include <asm/unwind.h> 18#include <asm/unwind.h>
19#include <asm/export.h>
19 20
20 /* 21 /*
21 * Wrap c macros in asm macros to delay expansion until after the 22 * Wrap c macros in asm macros to delay expansion until after the
@@ -51,6 +52,7 @@ UNWIND( .fnend)
51ENTRY(arm_smccc_smc) 52ENTRY(arm_smccc_smc)
52 SMCCC SMCCC_SMC 53 SMCCC SMCCC_SMC
53ENDPROC(arm_smccc_smc) 54ENDPROC(arm_smccc_smc)
55EXPORT_SYMBOL(arm_smccc_smc)
54 56
55/* 57/*
56 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2, 58 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2,
@@ -60,3 +62,4 @@ ENDPROC(arm_smccc_smc)
60ENTRY(arm_smccc_hvc) 62ENTRY(arm_smccc_hvc)
61 SMCCC SMCCC_HVC 63 SMCCC SMCCC_HVC
62ENDPROC(arm_smccc_hvc) 64ENDPROC(arm_smccc_hvc)
65EXPORT_SYMBOL(arm_smccc_hvc)
diff --git a/arch/arm/lib/ashldi3.S b/arch/arm/lib/ashldi3.S
index b05e95840651..a7e7de89bd75 100644
--- a/arch/arm/lib/ashldi3.S
+++ b/arch/arm/lib/ashldi3.S
@@ -28,6 +28,7 @@ Boston, MA 02110-1301, USA. */
28 28
29#include <linux/linkage.h> 29#include <linux/linkage.h>
30#include <asm/assembler.h> 30#include <asm/assembler.h>
31#include <asm/export.h>
31 32
32#ifdef __ARMEB__ 33#ifdef __ARMEB__
33#define al r1 34#define al r1
@@ -52,3 +53,5 @@ ENTRY(__aeabi_llsl)
52 53
53ENDPROC(__ashldi3) 54ENDPROC(__ashldi3)
54ENDPROC(__aeabi_llsl) 55ENDPROC(__aeabi_llsl)
56EXPORT_SYMBOL(__ashldi3)
57EXPORT_SYMBOL(__aeabi_llsl)
diff --git a/arch/arm/lib/ashrdi3.S b/arch/arm/lib/ashrdi3.S
index 275d7d2341a4..490336e42518 100644
--- a/arch/arm/lib/ashrdi3.S
+++ b/arch/arm/lib/ashrdi3.S
@@ -28,6 +28,7 @@ Boston, MA 02110-1301, USA. */
28 28
29#include <linux/linkage.h> 29#include <linux/linkage.h>
30#include <asm/assembler.h> 30#include <asm/assembler.h>
31#include <asm/export.h>
31 32
32#ifdef __ARMEB__ 33#ifdef __ARMEB__
33#define al r1 34#define al r1
@@ -52,3 +53,5 @@ ENTRY(__aeabi_lasr)
52 53
53ENDPROC(__ashrdi3) 54ENDPROC(__ashrdi3)
54ENDPROC(__aeabi_lasr) 55ENDPROC(__aeabi_lasr)
56EXPORT_SYMBOL(__ashrdi3)
57EXPORT_SYMBOL(__aeabi_lasr)
diff --git a/arch/arm/lib/bitops.h b/arch/arm/lib/bitops.h
index 7d807cfd8ef5..df06638b327c 100644
--- a/arch/arm/lib/bitops.h
+++ b/arch/arm/lib/bitops.h
@@ -1,5 +1,6 @@
1#include <asm/assembler.h> 1#include <asm/assembler.h>
2#include <asm/unwind.h> 2#include <asm/unwind.h>
3#include <asm/export.h>
3 4
4#if __LINUX_ARM_ARCH__ >= 6 5#if __LINUX_ARM_ARCH__ >= 6
5 .macro bitop, name, instr 6 .macro bitop, name, instr
@@ -25,6 +26,7 @@ UNWIND( .fnstart )
25 bx lr 26 bx lr
26UNWIND( .fnend ) 27UNWIND( .fnend )
27ENDPROC(\name ) 28ENDPROC(\name )
29EXPORT_SYMBOL(\name )
28 .endm 30 .endm
29 31
30 .macro testop, name, instr, store 32 .macro testop, name, instr, store
@@ -55,6 +57,7 @@ UNWIND( .fnstart )
552: bx lr 572: bx lr
56UNWIND( .fnend ) 58UNWIND( .fnend )
57ENDPROC(\name ) 59ENDPROC(\name )
60EXPORT_SYMBOL(\name )
58 .endm 61 .endm
59#else 62#else
60 .macro bitop, name, instr 63 .macro bitop, name, instr
@@ -74,6 +77,7 @@ UNWIND( .fnstart )
74 ret lr 77 ret lr
75UNWIND( .fnend ) 78UNWIND( .fnend )
76ENDPROC(\name ) 79ENDPROC(\name )
80EXPORT_SYMBOL(\name )
77 .endm 81 .endm
78 82
79/** 83/**
@@ -102,5 +106,6 @@ UNWIND( .fnstart )
102 ret lr 106 ret lr
103UNWIND( .fnend ) 107UNWIND( .fnend )
104ENDPROC(\name ) 108ENDPROC(\name )
109EXPORT_SYMBOL(\name )
105 .endm 110 .endm
106#endif 111#endif
diff --git a/arch/arm/lib/bswapsdi2.S b/arch/arm/lib/bswapsdi2.S
index 07cda737bb11..f05f78247304 100644
--- a/arch/arm/lib/bswapsdi2.S
+++ b/arch/arm/lib/bswapsdi2.S
@@ -1,5 +1,6 @@
1#include <linux/linkage.h> 1#include <linux/linkage.h>
2#include <asm/assembler.h> 2#include <asm/assembler.h>
3#include <asm/export.h>
3 4
4#if __LINUX_ARM_ARCH__ >= 6 5#if __LINUX_ARM_ARCH__ >= 6
5ENTRY(__bswapsi2) 6ENTRY(__bswapsi2)
@@ -35,3 +36,5 @@ ENTRY(__bswapdi2)
35 ret lr 36 ret lr
36ENDPROC(__bswapdi2) 37ENDPROC(__bswapdi2)
37#endif 38#endif
39EXPORT_SYMBOL(__bswapsi2)
40EXPORT_SYMBOL(__bswapdi2)
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S
index e936352ccb00..b566154f5cf4 100644
--- a/arch/arm/lib/clear_user.S
+++ b/arch/arm/lib/clear_user.S
@@ -10,6 +10,7 @@
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/unwind.h> 12#include <asm/unwind.h>
13#include <asm/export.h>
13 14
14 .text 15 .text
15 16
@@ -50,6 +51,9 @@ USER( strnebt r2, [r0])
50UNWIND(.fnend) 51UNWIND(.fnend)
51ENDPROC(arm_clear_user) 52ENDPROC(arm_clear_user)
52ENDPROC(__clear_user_std) 53ENDPROC(__clear_user_std)
54#ifndef CONFIG_UACCESS_WITH_MEMCPY
55EXPORT_SYMBOL(arm_clear_user)
56#endif
53 57
54 .pushsection .text.fixup,"ax" 58 .pushsection .text.fixup,"ax"
55 .align 0 59 .align 0
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
index 1512bebfbf1b..f549c57ea435 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -13,6 +13,7 @@
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/unwind.h> 15#include <asm/unwind.h>
16#include <asm/export.h>
16 17
17/* 18/*
18 * Prototype: 19 * Prototype:
@@ -94,6 +95,7 @@ ENTRY(arm_copy_from_user)
94#include "copy_template.S" 95#include "copy_template.S"
95 96
96ENDPROC(arm_copy_from_user) 97ENDPROC(arm_copy_from_user)
98EXPORT_SYMBOL(arm_copy_from_user)
97 99
98 .pushsection .fixup,"ax" 100 .pushsection .fixup,"ax"
99 .align 0 101 .align 0
diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S
index 6ee2f6706f86..d97851d4af7a 100644
--- a/arch/arm/lib/copy_page.S
+++ b/arch/arm/lib/copy_page.S
@@ -13,6 +13,7 @@
13#include <asm/assembler.h> 13#include <asm/assembler.h>
14#include <asm/asm-offsets.h> 14#include <asm/asm-offsets.h>
15#include <asm/cache.h> 15#include <asm/cache.h>
16#include <asm/export.h>
16 17
17#define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 )) 18#define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 ))
18 19
@@ -45,3 +46,4 @@ ENTRY(copy_page)
45 PLD( beq 2b ) 46 PLD( beq 2b )
46 ldmfd sp!, {r4, pc} @ 3 47 ldmfd sp!, {r4, pc} @ 3
47ENDPROC(copy_page) 48ENDPROC(copy_page)
49EXPORT_SYMBOL(copy_page)
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
index caf5019d8161..592c179112d1 100644
--- a/arch/arm/lib/copy_to_user.S
+++ b/arch/arm/lib/copy_to_user.S
@@ -13,6 +13,7 @@
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/unwind.h> 15#include <asm/unwind.h>
16#include <asm/export.h>
16 17
17/* 18/*
18 * Prototype: 19 * Prototype:
@@ -99,6 +100,9 @@ WEAK(arm_copy_to_user)
99 100
100ENDPROC(arm_copy_to_user) 101ENDPROC(arm_copy_to_user)
101ENDPROC(__copy_to_user_std) 102ENDPROC(__copy_to_user_std)
103#ifndef CONFIG_UACCESS_WITH_MEMCPY
104EXPORT_SYMBOL(arm_copy_to_user)
105#endif
102 106
103 .pushsection .text.fixup,"ax" 107 .pushsection .text.fixup,"ax"
104 .align 0 108 .align 0
diff --git a/arch/arm/lib/csumipv6.S b/arch/arm/lib/csumipv6.S
index 3ac6ef01bc43..68603b5ee537 100644
--- a/arch/arm/lib/csumipv6.S
+++ b/arch/arm/lib/csumipv6.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13 .text 14 .text
14 15
@@ -30,4 +31,4 @@ ENTRY(__csum_ipv6_magic)
30 adcs r0, r0, #0 31 adcs r0, r0, #0
31 ldmfd sp!, {pc} 32 ldmfd sp!, {pc}
32ENDPROC(__csum_ipv6_magic) 33ENDPROC(__csum_ipv6_magic)
33 34EXPORT_SYMBOL(__csum_ipv6_magic)
diff --git a/arch/arm/lib/csumpartial.S b/arch/arm/lib/csumpartial.S
index 984e0f29d548..830b20e81c37 100644
--- a/arch/arm/lib/csumpartial.S
+++ b/arch/arm/lib/csumpartial.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13 .text 14 .text
14 15
@@ -140,3 +141,4 @@ ENTRY(csum_partial)
140 bne 4b 141 bne 4b
141 b .Lless4 142 b .Lless4
142ENDPROC(csum_partial) 143ENDPROC(csum_partial)
144EXPORT_SYMBOL(csum_partial)
diff --git a/arch/arm/lib/csumpartialcopy.S b/arch/arm/lib/csumpartialcopy.S
index d03fc71fc88c..9c3383fed129 100644
--- a/arch/arm/lib/csumpartialcopy.S
+++ b/arch/arm/lib/csumpartialcopy.S
@@ -49,5 +49,6 @@
49 49
50#define FN_ENTRY ENTRY(csum_partial_copy_nocheck) 50#define FN_ENTRY ENTRY(csum_partial_copy_nocheck)
51#define FN_EXIT ENDPROC(csum_partial_copy_nocheck) 51#define FN_EXIT ENDPROC(csum_partial_copy_nocheck)
52#define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_nocheck)
52 53
53#include "csumpartialcopygeneric.S" 54#include "csumpartialcopygeneric.S"
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S
index 10b45909610c..8b94d20e51d1 100644
--- a/arch/arm/lib/csumpartialcopygeneric.S
+++ b/arch/arm/lib/csumpartialcopygeneric.S
@@ -8,6 +8,7 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10#include <asm/assembler.h> 10#include <asm/assembler.h>
11#include <asm/export.h>
11 12
12/* 13/*
13 * unsigned int 14 * unsigned int
@@ -331,3 +332,4 @@ FN_ENTRY
331 mov r5, r4, get_byte_1 332 mov r5, r4, get_byte_1
332 b .Lexit 333 b .Lexit
333FN_EXIT 334FN_EXIT
335FN_EXPORT
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S
index 1712f132b80d..5d495edf3d83 100644
--- a/arch/arm/lib/csumpartialcopyuser.S
+++ b/arch/arm/lib/csumpartialcopyuser.S
@@ -73,6 +73,7 @@
73 73
74#define FN_ENTRY ENTRY(csum_partial_copy_from_user) 74#define FN_ENTRY ENTRY(csum_partial_copy_from_user)
75#define FN_EXIT ENDPROC(csum_partial_copy_from_user) 75#define FN_EXIT ENDPROC(csum_partial_copy_from_user)
76#define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_from_user)
76 77
77#include "csumpartialcopygeneric.S" 78#include "csumpartialcopygeneric.S"
78 79
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
index 8044591dca72..e60ce1549759 100644
--- a/arch/arm/lib/delay.c
+++ b/arch/arm/lib/delay.c
@@ -24,6 +24,7 @@
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/kernel.h> 25#include <linux/kernel.h>
26#include <linux/module.h> 26#include <linux/module.h>
27#include <linux/export.h>
27#include <linux/timex.h> 28#include <linux/timex.h>
28 29
29/* 30/*
@@ -34,6 +35,7 @@ struct arm_delay_ops arm_delay_ops = {
34 .const_udelay = __loop_const_udelay, 35 .const_udelay = __loop_const_udelay,
35 .udelay = __loop_udelay, 36 .udelay = __loop_udelay,
36}; 37};
38EXPORT_SYMBOL(arm_delay_ops);
37 39
38static const struct delay_timer *delay_timer; 40static const struct delay_timer *delay_timer;
39static bool delay_calibrated; 41static bool delay_calibrated;
diff --git a/arch/arm/lib/div64.S b/arch/arm/lib/div64.S
index a9eafe4981eb..0c9e1c18fc9e 100644
--- a/arch/arm/lib/div64.S
+++ b/arch/arm/lib/div64.S
@@ -15,6 +15,7 @@
15#include <linux/linkage.h> 15#include <linux/linkage.h>
16#include <asm/assembler.h> 16#include <asm/assembler.h>
17#include <asm/unwind.h> 17#include <asm/unwind.h>
18#include <asm/export.h>
18 19
19#ifdef __ARMEB__ 20#ifdef __ARMEB__
20#define xh r0 21#define xh r0
@@ -210,3 +211,4 @@ Ldiv0_64:
210 211
211UNWIND(.fnend) 212UNWIND(.fnend)
212ENDPROC(__do_div64) 213ENDPROC(__do_div64)
214EXPORT_SYMBOL(__do_div64)
diff --git a/arch/arm/lib/findbit.S b/arch/arm/lib/findbit.S
index 7848780e8834..26302b8cd38f 100644
--- a/arch/arm/lib/findbit.S
+++ b/arch/arm/lib/findbit.S
@@ -15,6 +15,7 @@
15 */ 15 */
16#include <linux/linkage.h> 16#include <linux/linkage.h>
17#include <asm/assembler.h> 17#include <asm/assembler.h>
18#include <asm/export.h>
18 .text 19 .text
19 20
20/* 21/*
@@ -37,6 +38,7 @@ ENTRY(_find_first_zero_bit_le)
373: mov r0, r1 @ no free bits 383: mov r0, r1 @ no free bits
38 ret lr 39 ret lr
39ENDPROC(_find_first_zero_bit_le) 40ENDPROC(_find_first_zero_bit_le)
41EXPORT_SYMBOL(_find_first_zero_bit_le)
40 42
41/* 43/*
42 * Purpose : Find next 'zero' bit 44 * Purpose : Find next 'zero' bit
@@ -57,6 +59,7 @@ ENTRY(_find_next_zero_bit_le)
57 add r2, r2, #1 @ align bit pointer 59 add r2, r2, #1 @ align bit pointer
58 b 2b @ loop for next bit 60 b 2b @ loop for next bit
59ENDPROC(_find_next_zero_bit_le) 61ENDPROC(_find_next_zero_bit_le)
62EXPORT_SYMBOL(_find_next_zero_bit_le)
60 63
61/* 64/*
62 * Purpose : Find a 'one' bit 65 * Purpose : Find a 'one' bit
@@ -78,6 +81,7 @@ ENTRY(_find_first_bit_le)
783: mov r0, r1 @ no free bits 813: mov r0, r1 @ no free bits
79 ret lr 82 ret lr
80ENDPROC(_find_first_bit_le) 83ENDPROC(_find_first_bit_le)
84EXPORT_SYMBOL(_find_first_bit_le)
81 85
82/* 86/*
83 * Purpose : Find next 'one' bit 87 * Purpose : Find next 'one' bit
@@ -97,6 +101,7 @@ ENTRY(_find_next_bit_le)
97 add r2, r2, #1 @ align bit pointer 101 add r2, r2, #1 @ align bit pointer
98 b 2b @ loop for next bit 102 b 2b @ loop for next bit
99ENDPROC(_find_next_bit_le) 103ENDPROC(_find_next_bit_le)
104EXPORT_SYMBOL(_find_next_bit_le)
100 105
101#ifdef __ARMEB__ 106#ifdef __ARMEB__
102 107
@@ -116,6 +121,7 @@ ENTRY(_find_first_zero_bit_be)
1163: mov r0, r1 @ no free bits 1213: mov r0, r1 @ no free bits
117 ret lr 122 ret lr
118ENDPROC(_find_first_zero_bit_be) 123ENDPROC(_find_first_zero_bit_be)
124EXPORT_SYMBOL(_find_first_zero_bit_be)
119 125
120ENTRY(_find_next_zero_bit_be) 126ENTRY(_find_next_zero_bit_be)
121 teq r1, #0 127 teq r1, #0
@@ -133,6 +139,7 @@ ENTRY(_find_next_zero_bit_be)
133 add r2, r2, #1 @ align bit pointer 139 add r2, r2, #1 @ align bit pointer
134 b 2b @ loop for next bit 140 b 2b @ loop for next bit
135ENDPROC(_find_next_zero_bit_be) 141ENDPROC(_find_next_zero_bit_be)
142EXPORT_SYMBOL(_find_next_zero_bit_be)
136 143
137ENTRY(_find_first_bit_be) 144ENTRY(_find_first_bit_be)
138 teq r1, #0 145 teq r1, #0
@@ -150,6 +157,7 @@ ENTRY(_find_first_bit_be)
1503: mov r0, r1 @ no free bits 1573: mov r0, r1 @ no free bits
151 ret lr 158 ret lr
152ENDPROC(_find_first_bit_be) 159ENDPROC(_find_first_bit_be)
160EXPORT_SYMBOL(_find_first_bit_be)
153 161
154ENTRY(_find_next_bit_be) 162ENTRY(_find_next_bit_be)
155 teq r1, #0 163 teq r1, #0
@@ -166,6 +174,7 @@ ENTRY(_find_next_bit_be)
166 add r2, r2, #1 @ align bit pointer 174 add r2, r2, #1 @ align bit pointer
167 b 2b @ loop for next bit 175 b 2b @ loop for next bit
168ENDPROC(_find_next_bit_be) 176ENDPROC(_find_next_bit_be)
177EXPORT_SYMBOL(_find_next_bit_be)
169 178
170#endif 179#endif
171 180
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S
index 8ecfd15c3a02..9d09a38e73af 100644
--- a/arch/arm/lib/getuser.S
+++ b/arch/arm/lib/getuser.S
@@ -31,6 +31,7 @@
31#include <asm/assembler.h> 31#include <asm/assembler.h>
32#include <asm/errno.h> 32#include <asm/errno.h>
33#include <asm/domain.h> 33#include <asm/domain.h>
34#include <asm/export.h>
34 35
35ENTRY(__get_user_1) 36ENTRY(__get_user_1)
36 check_uaccess r0, 1, r1, r2, __get_user_bad 37 check_uaccess r0, 1, r1, r2, __get_user_bad
@@ -38,6 +39,7 @@ ENTRY(__get_user_1)
38 mov r0, #0 39 mov r0, #0
39 ret lr 40 ret lr
40ENDPROC(__get_user_1) 41ENDPROC(__get_user_1)
42EXPORT_SYMBOL(__get_user_1)
41 43
42ENTRY(__get_user_2) 44ENTRY(__get_user_2)
43 check_uaccess r0, 2, r1, r2, __get_user_bad 45 check_uaccess r0, 2, r1, r2, __get_user_bad
@@ -58,6 +60,7 @@ rb .req r0
58 mov r0, #0 60 mov r0, #0
59 ret lr 61 ret lr
60ENDPROC(__get_user_2) 62ENDPROC(__get_user_2)
63EXPORT_SYMBOL(__get_user_2)
61 64
62ENTRY(__get_user_4) 65ENTRY(__get_user_4)
63 check_uaccess r0, 4, r1, r2, __get_user_bad 66 check_uaccess r0, 4, r1, r2, __get_user_bad
@@ -65,6 +68,7 @@ ENTRY(__get_user_4)
65 mov r0, #0 68 mov r0, #0
66 ret lr 69 ret lr
67ENDPROC(__get_user_4) 70ENDPROC(__get_user_4)
71EXPORT_SYMBOL(__get_user_4)
68 72
69ENTRY(__get_user_8) 73ENTRY(__get_user_8)
70 check_uaccess r0, 8, r1, r2, __get_user_bad 74 check_uaccess r0, 8, r1, r2, __get_user_bad
@@ -78,6 +82,7 @@ ENTRY(__get_user_8)
78 mov r0, #0 82 mov r0, #0
79 ret lr 83 ret lr
80ENDPROC(__get_user_8) 84ENDPROC(__get_user_8)
85EXPORT_SYMBOL(__get_user_8)
81 86
82#ifdef __ARMEB__ 87#ifdef __ARMEB__
83ENTRY(__get_user_32t_8) 88ENTRY(__get_user_32t_8)
@@ -91,6 +96,7 @@ ENTRY(__get_user_32t_8)
91 mov r0, #0 96 mov r0, #0
92 ret lr 97 ret lr
93ENDPROC(__get_user_32t_8) 98ENDPROC(__get_user_32t_8)
99EXPORT_SYMBOL(__get_user_32t_8)
94 100
95ENTRY(__get_user_64t_1) 101ENTRY(__get_user_64t_1)
96 check_uaccess r0, 1, r1, r2, __get_user_bad8 102 check_uaccess r0, 1, r1, r2, __get_user_bad8
@@ -98,6 +104,7 @@ ENTRY(__get_user_64t_1)
98 mov r0, #0 104 mov r0, #0
99 ret lr 105 ret lr
100ENDPROC(__get_user_64t_1) 106ENDPROC(__get_user_64t_1)
107EXPORT_SYMBOL(__get_user_64t_1)
101 108
102ENTRY(__get_user_64t_2) 109ENTRY(__get_user_64t_2)
103 check_uaccess r0, 2, r1, r2, __get_user_bad8 110 check_uaccess r0, 2, r1, r2, __get_user_bad8
@@ -114,6 +121,7 @@ rb .req r0
114 mov r0, #0 121 mov r0, #0
115 ret lr 122 ret lr
116ENDPROC(__get_user_64t_2) 123ENDPROC(__get_user_64t_2)
124EXPORT_SYMBOL(__get_user_64t_2)
117 125
118ENTRY(__get_user_64t_4) 126ENTRY(__get_user_64t_4)
119 check_uaccess r0, 4, r1, r2, __get_user_bad8 127 check_uaccess r0, 4, r1, r2, __get_user_bad8
@@ -121,6 +129,7 @@ ENTRY(__get_user_64t_4)
121 mov r0, #0 129 mov r0, #0
122 ret lr 130 ret lr
123ENDPROC(__get_user_64t_4) 131ENDPROC(__get_user_64t_4)
132EXPORT_SYMBOL(__get_user_64t_4)
124#endif 133#endif
125 134
126__get_user_bad8: 135__get_user_bad8:
diff --git a/arch/arm/lib/io-readsb.S b/arch/arm/lib/io-readsb.S
index c31b2f3153f1..3dff7a3a2aef 100644
--- a/arch/arm/lib/io-readsb.S
+++ b/arch/arm/lib/io-readsb.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13.Linsb_align: rsb ip, ip, #4 14.Linsb_align: rsb ip, ip, #4
14 cmp ip, r2 15 cmp ip, r2
@@ -121,3 +122,4 @@ ENTRY(__raw_readsb)
121 122
122 ldmfd sp!, {r4 - r6, pc} 123 ldmfd sp!, {r4 - r6, pc}
123ENDPROC(__raw_readsb) 124ENDPROC(__raw_readsb)
125EXPORT_SYMBOL(__raw_readsb)
diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S
index 2ed86fa5465f..bfd39682325b 100644
--- a/arch/arm/lib/io-readsl.S
+++ b/arch/arm/lib/io-readsl.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13ENTRY(__raw_readsl) 14ENTRY(__raw_readsl)
14 teq r2, #0 @ do we have to check for the zero len? 15 teq r2, #0 @ do we have to check for the zero len?
@@ -77,3 +78,4 @@ ENTRY(__raw_readsl)
77 strb r3, [r1, #0] 78 strb r3, [r1, #0]
78 ret lr 79 ret lr
79ENDPROC(__raw_readsl) 80ENDPROC(__raw_readsl)
81EXPORT_SYMBOL(__raw_readsl)
diff --git a/arch/arm/lib/io-readsw-armv3.S b/arch/arm/lib/io-readsw-armv3.S
index 413da9914529..b3af3db6caac 100644
--- a/arch/arm/lib/io-readsw-armv3.S
+++ b/arch/arm/lib/io-readsw-armv3.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13.Linsw_bad_alignment: 14.Linsw_bad_alignment:
14 adr r0, .Linsw_bad_align_msg 15 adr r0, .Linsw_bad_align_msg
@@ -103,4 +104,4 @@ ENTRY(__raw_readsw)
103 104
104 ldmfd sp!, {r4, r5, r6, pc} 105 ldmfd sp!, {r4, r5, r6, pc}
105 106
106 107EXPORT_SYMBOL(__raw_readsw)
diff --git a/arch/arm/lib/io-readsw-armv4.S b/arch/arm/lib/io-readsw-armv4.S
index d9a45e9692ae..3c7a7a40b33e 100644
--- a/arch/arm/lib/io-readsw-armv4.S
+++ b/arch/arm/lib/io-readsw-armv4.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13 .macro pack, rd, hw1, hw2 14 .macro pack, rd, hw1, hw2
14#ifndef __ARMEB__ 15#ifndef __ARMEB__
@@ -129,3 +130,4 @@ ENTRY(__raw_readsw)
129 strneb ip, [r1] 130 strneb ip, [r1]
130 ldmfd sp!, {r4, pc} 131 ldmfd sp!, {r4, pc}
131ENDPROC(__raw_readsw) 132ENDPROC(__raw_readsw)
133EXPORT_SYMBOL(__raw_readsw)
diff --git a/arch/arm/lib/io-writesb.S b/arch/arm/lib/io-writesb.S
index a46bbc9b168b..fa3633594415 100644
--- a/arch/arm/lib/io-writesb.S
+++ b/arch/arm/lib/io-writesb.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13 .macro outword, rd 14 .macro outword, rd
14#ifndef __ARMEB__ 15#ifndef __ARMEB__
@@ -92,3 +93,4 @@ ENTRY(__raw_writesb)
92 93
93 ldmfd sp!, {r4, r5, pc} 94 ldmfd sp!, {r4, r5, pc}
94ENDPROC(__raw_writesb) 95ENDPROC(__raw_writesb)
96EXPORT_SYMBOL(__raw_writesb)
diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S
index 4ea2435988c1..98ed6aec0b47 100644
--- a/arch/arm/lib/io-writesl.S
+++ b/arch/arm/lib/io-writesl.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13ENTRY(__raw_writesl) 14ENTRY(__raw_writesl)
14 teq r2, #0 @ do we have to check for the zero len? 15 teq r2, #0 @ do we have to check for the zero len?
@@ -65,3 +66,4 @@ ENTRY(__raw_writesl)
65 bne 6b 66 bne 6b
66 ret lr 67 ret lr
67ENDPROC(__raw_writesl) 68ENDPROC(__raw_writesl)
69EXPORT_SYMBOL(__raw_writesl)
diff --git a/arch/arm/lib/io-writesw-armv3.S b/arch/arm/lib/io-writesw-armv3.S
index 121789eb6802..577184c082bb 100644
--- a/arch/arm/lib/io-writesw-armv3.S
+++ b/arch/arm/lib/io-writesw-armv3.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13.Loutsw_bad_alignment: 14.Loutsw_bad_alignment:
14 adr r0, .Loutsw_bad_align_msg 15 adr r0, .Loutsw_bad_align_msg
@@ -124,3 +125,4 @@ ENTRY(__raw_writesw)
124 strne ip, [r0] 125 strne ip, [r0]
125 126
126 ldmfd sp!, {r4, r5, r6, pc} 127 ldmfd sp!, {r4, r5, r6, pc}
128EXPORT_SYMBOL(__raw_writesw)
diff --git a/arch/arm/lib/io-writesw-armv4.S b/arch/arm/lib/io-writesw-armv4.S
index 269f90c51ad2..e335f489d1fc 100644
--- a/arch/arm/lib/io-writesw-armv4.S
+++ b/arch/arm/lib/io-writesw-armv4.S
@@ -9,6 +9,7 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/export.h>
12 13
13 .macro outword, rd 14 .macro outword, rd
14#ifndef __ARMEB__ 15#ifndef __ARMEB__
@@ -98,3 +99,4 @@ ENTRY(__raw_writesw)
98 strneh ip, [r0] 99 strneh ip, [r0]
99 ret lr 100 ret lr
100ENDPROC(__raw_writesw) 101ENDPROC(__raw_writesw)
102EXPORT_SYMBOL(__raw_writesw)
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index 9397b2e532af..f541bc013bff 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */
36#include <linux/linkage.h> 36#include <linux/linkage.h>
37#include <asm/assembler.h> 37#include <asm/assembler.h>
38#include <asm/unwind.h> 38#include <asm/unwind.h>
39#include <asm/export.h>
39 40
40.macro ARM_DIV_BODY dividend, divisor, result, curbit 41.macro ARM_DIV_BODY dividend, divisor, result, curbit
41 42
@@ -238,6 +239,8 @@ UNWIND(.fnstart)
238UNWIND(.fnend) 239UNWIND(.fnend)
239ENDPROC(__udivsi3) 240ENDPROC(__udivsi3)
240ENDPROC(__aeabi_uidiv) 241ENDPROC(__aeabi_uidiv)
242EXPORT_SYMBOL(__udivsi3)
243EXPORT_SYMBOL(__aeabi_uidiv)
241 244
242ENTRY(__umodsi3) 245ENTRY(__umodsi3)
243UNWIND(.fnstart) 246UNWIND(.fnstart)
@@ -256,6 +259,7 @@ UNWIND(.fnstart)
256 259
257UNWIND(.fnend) 260UNWIND(.fnend)
258ENDPROC(__umodsi3) 261ENDPROC(__umodsi3)
262EXPORT_SYMBOL(__umodsi3)
259 263
260#ifdef CONFIG_ARM_PATCH_IDIV 264#ifdef CONFIG_ARM_PATCH_IDIV
261 .align 3 265 .align 3
@@ -303,6 +307,8 @@ UNWIND(.fnstart)
303UNWIND(.fnend) 307UNWIND(.fnend)
304ENDPROC(__divsi3) 308ENDPROC(__divsi3)
305ENDPROC(__aeabi_idiv) 309ENDPROC(__aeabi_idiv)
310EXPORT_SYMBOL(__divsi3)
311EXPORT_SYMBOL(__aeabi_idiv)
306 312
307ENTRY(__modsi3) 313ENTRY(__modsi3)
308UNWIND(.fnstart) 314UNWIND(.fnstart)
@@ -327,6 +333,7 @@ UNWIND(.fnstart)
327 333
328UNWIND(.fnend) 334UNWIND(.fnend)
329ENDPROC(__modsi3) 335ENDPROC(__modsi3)
336EXPORT_SYMBOL(__modsi3)
330 337
331#ifdef CONFIG_AEABI 338#ifdef CONFIG_AEABI
332 339
@@ -343,6 +350,7 @@ UNWIND(.save {r0, r1, ip, lr} )
343 350
344UNWIND(.fnend) 351UNWIND(.fnend)
345ENDPROC(__aeabi_uidivmod) 352ENDPROC(__aeabi_uidivmod)
353EXPORT_SYMBOL(__aeabi_uidivmod)
346 354
347ENTRY(__aeabi_idivmod) 355ENTRY(__aeabi_idivmod)
348UNWIND(.fnstart) 356UNWIND(.fnstart)
@@ -356,6 +364,7 @@ UNWIND(.save {r0, r1, ip, lr} )
356 364
357UNWIND(.fnend) 365UNWIND(.fnend)
358ENDPROC(__aeabi_idivmod) 366ENDPROC(__aeabi_idivmod)
367EXPORT_SYMBOL(__aeabi_idivmod)
359 368
360#endif 369#endif
361 370
diff --git a/arch/arm/lib/lshrdi3.S b/arch/arm/lib/lshrdi3.S
index 922dcd88b02b..e40833981417 100644
--- a/arch/arm/lib/lshrdi3.S
+++ b/arch/arm/lib/lshrdi3.S
@@ -28,6 +28,7 @@ Boston, MA 02110-1301, USA. */
28 28
29#include <linux/linkage.h> 29#include <linux/linkage.h>
30#include <asm/assembler.h> 30#include <asm/assembler.h>
31#include <asm/export.h>
31 32
32#ifdef __ARMEB__ 33#ifdef __ARMEB__
33#define al r1 34#define al r1
@@ -52,3 +53,5 @@ ENTRY(__aeabi_llsr)
52 53
53ENDPROC(__lshrdi3) 54ENDPROC(__lshrdi3)
54ENDPROC(__aeabi_llsr) 55ENDPROC(__aeabi_llsr)
56EXPORT_SYMBOL(__lshrdi3)
57EXPORT_SYMBOL(__aeabi_llsr)
diff --git a/arch/arm/lib/memchr.S b/arch/arm/lib/memchr.S
index 74a5bed6d999..44182bf686a5 100644
--- a/arch/arm/lib/memchr.S
+++ b/arch/arm/lib/memchr.S
@@ -11,6 +11,7 @@
11 */ 11 */
12#include <linux/linkage.h> 12#include <linux/linkage.h>
13#include <asm/assembler.h> 13#include <asm/assembler.h>
14#include <asm/export.h>
14 15
15 .text 16 .text
16 .align 5 17 .align 5
@@ -24,3 +25,4 @@ ENTRY(memchr)
242: movne r0, #0 252: movne r0, #0
25 ret lr 26 ret lr
26ENDPROC(memchr) 27ENDPROC(memchr)
28EXPORT_SYMBOL(memchr)
diff --git a/arch/arm/lib/memcpy.S b/arch/arm/lib/memcpy.S
index 64111bd4440b..1be5b6ddf37c 100644
--- a/arch/arm/lib/memcpy.S
+++ b/arch/arm/lib/memcpy.S
@@ -13,6 +13,7 @@
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/unwind.h> 15#include <asm/unwind.h>
16#include <asm/export.h>
16 17
17#define LDR1W_SHIFT 0 18#define LDR1W_SHIFT 0
18#define STR1W_SHIFT 0 19#define STR1W_SHIFT 0
@@ -68,3 +69,5 @@ ENTRY(memcpy)
68 69
69ENDPROC(memcpy) 70ENDPROC(memcpy)
70ENDPROC(mmiocpy) 71ENDPROC(mmiocpy)
72EXPORT_SYMBOL(memcpy)
73EXPORT_SYMBOL(mmiocpy)
diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S
index 69a9d47fc5ab..71dcc5400d02 100644
--- a/arch/arm/lib/memmove.S
+++ b/arch/arm/lib/memmove.S
@@ -13,6 +13,7 @@
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/unwind.h> 15#include <asm/unwind.h>
16#include <asm/export.h>
16 17
17 .text 18 .text
18 19
@@ -225,3 +226,4 @@ ENTRY(memmove)
22518: backward_copy_shift push=24 pull=8 22618: backward_copy_shift push=24 pull=8
226 227
227ENDPROC(memmove) 228ENDPROC(memmove)
229EXPORT_SYMBOL(memmove)
diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S
index 3c65e3bd790f..7b72044cba62 100644
--- a/arch/arm/lib/memset.S
+++ b/arch/arm/lib/memset.S
@@ -12,6 +12,7 @@
12#include <linux/linkage.h> 12#include <linux/linkage.h>
13#include <asm/assembler.h> 13#include <asm/assembler.h>
14#include <asm/unwind.h> 14#include <asm/unwind.h>
15#include <asm/export.h>
15 16
16 .text 17 .text
17 .align 5 18 .align 5
@@ -135,3 +136,5 @@ UNWIND( .fnstart )
135UNWIND( .fnend ) 136UNWIND( .fnend )
136ENDPROC(memset) 137ENDPROC(memset)
137ENDPROC(mmioset) 138ENDPROC(mmioset)
139EXPORT_SYMBOL(memset)
140EXPORT_SYMBOL(mmioset)
diff --git a/arch/arm/lib/memzero.S b/arch/arm/lib/memzero.S
index 0eded952e089..6dec26ed5bcc 100644
--- a/arch/arm/lib/memzero.S
+++ b/arch/arm/lib/memzero.S
@@ -10,6 +10,7 @@
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <asm/unwind.h> 12#include <asm/unwind.h>
13#include <asm/export.h>
13 14
14 .text 15 .text
15 .align 5 16 .align 5
@@ -135,3 +136,4 @@ UNWIND( .fnstart )
135 ret lr @ 1 136 ret lr @ 1
136UNWIND( .fnend ) 137UNWIND( .fnend )
137ENDPROC(__memzero) 138ENDPROC(__memzero)
139EXPORT_SYMBOL(__memzero)
diff --git a/arch/arm/lib/muldi3.S b/arch/arm/lib/muldi3.S
index 204305956925..b8f12388ccac 100644
--- a/arch/arm/lib/muldi3.S
+++ b/arch/arm/lib/muldi3.S
@@ -12,6 +12,7 @@
12 12
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/export.h>
15 16
16#ifdef __ARMEB__ 17#ifdef __ARMEB__
17#define xh r0 18#define xh r0
@@ -46,3 +47,5 @@ ENTRY(__aeabi_lmul)
46 47
47ENDPROC(__muldi3) 48ENDPROC(__muldi3)
48ENDPROC(__aeabi_lmul) 49ENDPROC(__aeabi_lmul)
50EXPORT_SYMBOL(__muldi3)
51EXPORT_SYMBOL(__aeabi_lmul)
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S
index 38d660d3705f..11de126e2ed6 100644
--- a/arch/arm/lib/putuser.S
+++ b/arch/arm/lib/putuser.S
@@ -31,6 +31,7 @@
31#include <asm/assembler.h> 31#include <asm/assembler.h>
32#include <asm/errno.h> 32#include <asm/errno.h>
33#include <asm/domain.h> 33#include <asm/domain.h>
34#include <asm/export.h>
34 35
35ENTRY(__put_user_1) 36ENTRY(__put_user_1)
36 check_uaccess r0, 1, r1, ip, __put_user_bad 37 check_uaccess r0, 1, r1, ip, __put_user_bad
@@ -38,6 +39,7 @@ ENTRY(__put_user_1)
38 mov r0, #0 39 mov r0, #0
39 ret lr 40 ret lr
40ENDPROC(__put_user_1) 41ENDPROC(__put_user_1)
42EXPORT_SYMBOL(__put_user_1)
41 43
42ENTRY(__put_user_2) 44ENTRY(__put_user_2)
43 check_uaccess r0, 2, r1, ip, __put_user_bad 45 check_uaccess r0, 2, r1, ip, __put_user_bad
@@ -62,6 +64,7 @@ ENTRY(__put_user_2)
62 mov r0, #0 64 mov r0, #0
63 ret lr 65 ret lr
64ENDPROC(__put_user_2) 66ENDPROC(__put_user_2)
67EXPORT_SYMBOL(__put_user_2)
65 68
66ENTRY(__put_user_4) 69ENTRY(__put_user_4)
67 check_uaccess r0, 4, r1, ip, __put_user_bad 70 check_uaccess r0, 4, r1, ip, __put_user_bad
@@ -69,6 +72,7 @@ ENTRY(__put_user_4)
69 mov r0, #0 72 mov r0, #0
70 ret lr 73 ret lr
71ENDPROC(__put_user_4) 74ENDPROC(__put_user_4)
75EXPORT_SYMBOL(__put_user_4)
72 76
73ENTRY(__put_user_8) 77ENTRY(__put_user_8)
74 check_uaccess r0, 8, r1, ip, __put_user_bad 78 check_uaccess r0, 8, r1, ip, __put_user_bad
@@ -82,6 +86,7 @@ ENTRY(__put_user_8)
82 mov r0, #0 86 mov r0, #0
83 ret lr 87 ret lr
84ENDPROC(__put_user_8) 88ENDPROC(__put_user_8)
89EXPORT_SYMBOL(__put_user_8)
85 90
86__put_user_bad: 91__put_user_bad:
87 mov r0, #-EFAULT 92 mov r0, #-EFAULT
diff --git a/arch/arm/lib/strchr.S b/arch/arm/lib/strchr.S
index 013d64c71e8d..7301f6e6046c 100644
--- a/arch/arm/lib/strchr.S
+++ b/arch/arm/lib/strchr.S
@@ -11,6 +11,7 @@
11 */ 11 */
12#include <linux/linkage.h> 12#include <linux/linkage.h>
13#include <asm/assembler.h> 13#include <asm/assembler.h>
14#include <asm/export.h>
14 15
15 .text 16 .text
16 .align 5 17 .align 5
@@ -25,3 +26,4 @@ ENTRY(strchr)
25 subeq r0, r0, #1 26 subeq r0, r0, #1
26 ret lr 27 ret lr
27ENDPROC(strchr) 28ENDPROC(strchr)
29EXPORT_SYMBOL(strchr)
diff --git a/arch/arm/lib/strrchr.S b/arch/arm/lib/strrchr.S
index 3cec1c7482c4..aaf9fd98b754 100644
--- a/arch/arm/lib/strrchr.S
+++ b/arch/arm/lib/strrchr.S
@@ -11,6 +11,7 @@
11 */ 11 */
12#include <linux/linkage.h> 12#include <linux/linkage.h>
13#include <asm/assembler.h> 13#include <asm/assembler.h>
14#include <asm/export.h>
14 15
15 .text 16 .text
16 .align 5 17 .align 5
@@ -24,3 +25,4 @@ ENTRY(strrchr)
24 mov r0, r3 25 mov r0, r3
25 ret lr 26 ret lr
26ENDPROC(strrchr) 27ENDPROC(strrchr)
28EXPORT_SYMBOL(strrchr)
diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
index 6bd1089b07e0..1626e3a551a1 100644
--- a/arch/arm/lib/uaccess_with_memcpy.c
+++ b/arch/arm/lib/uaccess_with_memcpy.c
@@ -19,6 +19,7 @@
19#include <linux/gfp.h> 19#include <linux/gfp.h>
20#include <linux/highmem.h> 20#include <linux/highmem.h>
21#include <linux/hugetlb.h> 21#include <linux/hugetlb.h>
22#include <linux/export.h>
22#include <asm/current.h> 23#include <asm/current.h>
23#include <asm/page.h> 24#include <asm/page.h>
24 25
@@ -156,6 +157,7 @@ arm_copy_to_user(void __user *to, const void *from, unsigned long n)
156 } 157 }
157 return n; 158 return n;
158} 159}
160EXPORT_SYMBOL(arm_copy_to_user);
159 161
160static unsigned long noinline 162static unsigned long noinline
161__clear_user_memset(void __user *addr, unsigned long n) 163__clear_user_memset(void __user *addr, unsigned long n)
@@ -213,6 +215,7 @@ unsigned long arm_clear_user(void __user *addr, unsigned long n)
213 } 215 }
214 return n; 216 return n;
215} 217}
218EXPORT_SYMBOL(arm_clear_user);
216 219
217#if 0 220#if 0
218 221
diff --git a/arch/arm/lib/ucmpdi2.S b/arch/arm/lib/ucmpdi2.S
index ad4a6309141a..127a91af46f3 100644
--- a/arch/arm/lib/ucmpdi2.S
+++ b/arch/arm/lib/ucmpdi2.S
@@ -12,6 +12,7 @@
12 12
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <asm/export.h>
15 16
16#ifdef __ARMEB__ 17#ifdef __ARMEB__
17#define xh r0 18#define xh r0
@@ -35,6 +36,7 @@ ENTRY(__ucmpdi2)
35 ret lr 36 ret lr
36 37
37ENDPROC(__ucmpdi2) 38ENDPROC(__ucmpdi2)
39EXPORT_SYMBOL(__ucmpdi2)
38 40
39#ifdef CONFIG_AEABI 41#ifdef CONFIG_AEABI
40 42
@@ -48,6 +50,7 @@ ENTRY(__aeabi_ulcmp)
48 ret lr 50 ret lr
49 51
50ENDPROC(__aeabi_ulcmp) 52ENDPROC(__aeabi_ulcmp)
53EXPORT_SYMBOL(__aeabi_ulcmp)
51 54
52#endif 55#endif
53 56
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 9f5fffd62702..8ed8ab56bb78 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -32,7 +32,6 @@ endif
32 32
33ifdef CONFIG_SND_IMX_SOC 33ifdef CONFIG_SND_IMX_SOC
34obj-y += ssi-fiq.o 34obj-y += ssi-fiq.o
35obj-y += ssi-fiq-ksym.o
36endif 35endif
37 36
38# i.MX1 based machines 37# i.MX1 based machines
diff --git a/arch/arm/mach-imx/ssi-fiq-ksym.c b/arch/arm/mach-imx/ssi-fiq-ksym.c
deleted file mode 100644
index 792090f9a032..000000000000
--- a/arch/arm/mach-imx/ssi-fiq-ksym.c
+++ /dev/null
@@ -1,20 +0,0 @@
1/*
2 * Exported ksyms for the SSI FIQ handler
3 *
4 * Copyright (C) 2009, Sascha Hauer <s.hauer@pengutronix.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <linux/module.h>
12
13#include <linux/platform_data/asoc-imx-ssi.h>
14
15EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer);
16EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer);
17EXPORT_SYMBOL(imx_ssi_fiq_start);
18EXPORT_SYMBOL(imx_ssi_fiq_end);
19EXPORT_SYMBOL(imx_ssi_fiq_base);
20
diff --git a/arch/arm/mach-imx/ssi-fiq.S b/arch/arm/mach-imx/ssi-fiq.S
index a8b93c5f29b5..fd7917f1c204 100644
--- a/arch/arm/mach-imx/ssi-fiq.S
+++ b/arch/arm/mach-imx/ssi-fiq.S
@@ -8,6 +8,7 @@
8 8
9#include <linux/linkage.h> 9#include <linux/linkage.h>
10#include <asm/assembler.h> 10#include <asm/assembler.h>
11#include <asm/export.h>
11 12
12/* 13/*
13 * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size 14 * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size
@@ -144,4 +145,8 @@ imx_ssi_fiq_tx_buffer:
144 .word 0x0 145 .word 0x0
145.L_imx_ssi_fiq_end: 146.L_imx_ssi_fiq_end:
146imx_ssi_fiq_end: 147imx_ssi_fiq_end:
147 148EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer)
149EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer)
150EXPORT_SYMBOL(imx_ssi_fiq_start)
151EXPORT_SYMBOL(imx_ssi_fiq_end)
152EXPORT_SYMBOL(imx_ssi_fiq_base)