aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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, 208 insertions, 131 deletions
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 0745538b26d3..55e0e3ea9cb6 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -8,7 +8,6 @@ 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
12generic-y += ioctl.h 11generic-y += ioctl.h
13generic-y += ipcbuf.h 12generic-y += ipcbuf.h
14generic-y += irq_regs.h 13generic-y += irq_regs.h
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index 68c2c097cffe..ad325a8c7e1e 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) += module.o 36obj-$(CONFIG_MODULES) += armksyms.o 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
new file mode 100644
index 000000000000..7e45f69a0ddc
--- /dev/null
+++ b/arch/arm/kernel/armksyms.c
@@ -0,0 +1,183 @@
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 b629d3f11c3d..c73c4030ca5d 100644
--- a/arch/arm/kernel/entry-ftrace.S
+++ b/arch/arm/kernel/entry-ftrace.S
@@ -7,7 +7,6 @@
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>
11 10
12#include "entry-header.S" 11#include "entry-header.S"
13 12
@@ -154,7 +153,6 @@ ENTRY(mcount)
154 __mcount _old 153 __mcount _old
155#endif 154#endif
156ENDPROC(mcount) 155ENDPROC(mcount)
157EXPORT_SYMBOL(mcount)
158 156
159#ifdef CONFIG_DYNAMIC_FTRACE 157#ifdef CONFIG_DYNAMIC_FTRACE
160ENTRY(ftrace_caller_old) 158ENTRY(ftrace_caller_old)
@@ -207,7 +205,6 @@ UNWIND(.fnstart)
207#endif 205#endif
208UNWIND(.fnend) 206UNWIND(.fnend)
209ENDPROC(__gnu_mcount_nc) 207ENDPROC(__gnu_mcount_nc)
210EXPORT_SYMBOL(__gnu_mcount_nc)
211 208
212#ifdef CONFIG_DYNAMIC_FTRACE 209#ifdef CONFIG_DYNAMIC_FTRACE
213ENTRY(ftrace_caller) 210ENTRY(ftrace_caller)
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index f41cee4c5746..04286fd9e09c 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -22,7 +22,6 @@
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>
26 25
27#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) 26#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING)
28#include CONFIG_DEBUG_LL_INCLUDE 27#include CONFIG_DEBUG_LL_INCLUDE
@@ -728,8 +727,6 @@ __pv_phys_pfn_offset:
728__pv_offset: 727__pv_offset:
729 .quad 0 728 .quad 0
730 .size __pv_offset, . -__pv_offset 729 .size __pv_offset, . -__pv_offset
731EXPORT_SYMBOL(__pv_phys_pfn_offset)
732EXPORT_SYMBOL(__pv_offset)
733#endif 730#endif
734 731
735#include "head-common.S" 732#include "head-common.S"
diff --git a/arch/arm/kernel/smccc-call.S b/arch/arm/kernel/smccc-call.S
index 37669e7e13af..2e48b674aab1 100644
--- a/arch/arm/kernel/smccc-call.S
+++ b/arch/arm/kernel/smccc-call.S
@@ -16,7 +16,6 @@
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>
20 19
21 /* 20 /*
22 * Wrap c macros in asm macros to delay expansion until after the 21 * Wrap c macros in asm macros to delay expansion until after the
@@ -52,7 +51,6 @@ UNWIND( .fnend)
52ENTRY(arm_smccc_smc) 51ENTRY(arm_smccc_smc)
53 SMCCC SMCCC_SMC 52 SMCCC SMCCC_SMC
54ENDPROC(arm_smccc_smc) 53ENDPROC(arm_smccc_smc)
55EXPORT_SYMBOL(arm_smccc_smc)
56 54
57/* 55/*
58 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2, 56 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2,
@@ -62,4 +60,3 @@ EXPORT_SYMBOL(arm_smccc_smc)
62ENTRY(arm_smccc_hvc) 60ENTRY(arm_smccc_hvc)
63 SMCCC SMCCC_HVC 61 SMCCC SMCCC_HVC
64ENDPROC(arm_smccc_hvc) 62ENDPROC(arm_smccc_hvc)
65EXPORT_SYMBOL(arm_smccc_hvc)
diff --git a/arch/arm/lib/ashldi3.S b/arch/arm/lib/ashldi3.S
index a7e7de89bd75..b05e95840651 100644
--- a/arch/arm/lib/ashldi3.S
+++ b/arch/arm/lib/ashldi3.S
@@ -28,7 +28,6 @@ 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>
32 31
33#ifdef __ARMEB__ 32#ifdef __ARMEB__
34#define al r1 33#define al r1
@@ -53,5 +52,3 @@ ENTRY(__aeabi_llsl)
53 52
54ENDPROC(__ashldi3) 53ENDPROC(__ashldi3)
55ENDPROC(__aeabi_llsl) 54ENDPROC(__aeabi_llsl)
56EXPORT_SYMBOL(__ashldi3)
57EXPORT_SYMBOL(__aeabi_llsl)
diff --git a/arch/arm/lib/ashrdi3.S b/arch/arm/lib/ashrdi3.S
index 490336e42518..275d7d2341a4 100644
--- a/arch/arm/lib/ashrdi3.S
+++ b/arch/arm/lib/ashrdi3.S
@@ -28,7 +28,6 @@ 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>
32 31
33#ifdef __ARMEB__ 32#ifdef __ARMEB__
34#define al r1 33#define al r1
@@ -53,5 +52,3 @@ ENTRY(__aeabi_lasr)
53 52
54ENDPROC(__ashrdi3) 53ENDPROC(__ashrdi3)
55ENDPROC(__aeabi_lasr) 54ENDPROC(__aeabi_lasr)
56EXPORT_SYMBOL(__ashrdi3)
57EXPORT_SYMBOL(__aeabi_lasr)
diff --git a/arch/arm/lib/bitops.h b/arch/arm/lib/bitops.h
index df06638b327c..7d807cfd8ef5 100644
--- a/arch/arm/lib/bitops.h
+++ b/arch/arm/lib/bitops.h
@@ -1,6 +1,5 @@
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>
4 3
5#if __LINUX_ARM_ARCH__ >= 6 4#if __LINUX_ARM_ARCH__ >= 6
6 .macro bitop, name, instr 5 .macro bitop, name, instr
@@ -26,7 +25,6 @@ UNWIND( .fnstart )
26 bx lr 25 bx lr
27UNWIND( .fnend ) 26UNWIND( .fnend )
28ENDPROC(\name ) 27ENDPROC(\name )
29EXPORT_SYMBOL(\name )
30 .endm 28 .endm
31 29
32 .macro testop, name, instr, store 30 .macro testop, name, instr, store
@@ -57,7 +55,6 @@ UNWIND( .fnstart )
572: bx lr 552: bx lr
58UNWIND( .fnend ) 56UNWIND( .fnend )
59ENDPROC(\name ) 57ENDPROC(\name )
60EXPORT_SYMBOL(\name )
61 .endm 58 .endm
62#else 59#else
63 .macro bitop, name, instr 60 .macro bitop, name, instr
@@ -77,7 +74,6 @@ UNWIND( .fnstart )
77 ret lr 74 ret lr
78UNWIND( .fnend ) 75UNWIND( .fnend )
79ENDPROC(\name ) 76ENDPROC(\name )
80EXPORT_SYMBOL(\name )
81 .endm 77 .endm
82 78
83/** 79/**
@@ -106,6 +102,5 @@ UNWIND( .fnstart )
106 ret lr 102 ret lr
107UNWIND( .fnend ) 103UNWIND( .fnend )
108ENDPROC(\name ) 104ENDPROC(\name )
109EXPORT_SYMBOL(\name )
110 .endm 105 .endm
111#endif 106#endif
diff --git a/arch/arm/lib/bswapsdi2.S b/arch/arm/lib/bswapsdi2.S
index f05f78247304..07cda737bb11 100644
--- a/arch/arm/lib/bswapsdi2.S
+++ b/arch/arm/lib/bswapsdi2.S
@@ -1,6 +1,5 @@
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>
4 3
5#if __LINUX_ARM_ARCH__ >= 6 4#if __LINUX_ARM_ARCH__ >= 6
6ENTRY(__bswapsi2) 5ENTRY(__bswapsi2)
@@ -36,5 +35,3 @@ ENTRY(__bswapdi2)
36 ret lr 35 ret lr
37ENDPROC(__bswapdi2) 36ENDPROC(__bswapdi2)
38#endif 37#endif
39EXPORT_SYMBOL(__bswapsi2)
40EXPORT_SYMBOL(__bswapdi2)
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S
index b566154f5cf4..e936352ccb00 100644
--- a/arch/arm/lib/clear_user.S
+++ b/arch/arm/lib/clear_user.S
@@ -10,7 +10,6 @@
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>
14 13
15 .text 14 .text
16 15
@@ -51,9 +50,6 @@ USER( strnebt r2, [r0])
51UNWIND(.fnend) 50UNWIND(.fnend)
52ENDPROC(arm_clear_user) 51ENDPROC(arm_clear_user)
53ENDPROC(__clear_user_std) 52ENDPROC(__clear_user_std)
54#ifndef CONFIG_UACCESS_WITH_MEMCPY
55EXPORT_SYMBOL(arm_clear_user)
56#endif
57 53
58 .pushsection .text.fixup,"ax" 54 .pushsection .text.fixup,"ax"
59 .align 0 55 .align 0
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
index 63e4c1ed0225..7a4b06049001 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -13,7 +13,6 @@
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>
17 16
18/* 17/*
19 * Prototype: 18 * Prototype:
@@ -95,7 +94,6 @@ ENTRY(arm_copy_from_user)
95#include "copy_template.S" 94#include "copy_template.S"
96 95
97ENDPROC(arm_copy_from_user) 96ENDPROC(arm_copy_from_user)
98EXPORT_SYMBOL(arm_copy_from_user)
99 97
100 .pushsection .fixup,"ax" 98 .pushsection .fixup,"ax"
101 .align 0 99 .align 0
diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S
index d97851d4af7a..6ee2f6706f86 100644
--- a/arch/arm/lib/copy_page.S
+++ b/arch/arm/lib/copy_page.S
@@ -13,7 +13,6 @@
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>
17 16
18#define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 )) 17#define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 ))
19 18
@@ -46,4 +45,3 @@ ENTRY(copy_page)
46 PLD( beq 2b ) 45 PLD( beq 2b )
47 ldmfd sp!, {r4, pc} @ 3 46 ldmfd sp!, {r4, pc} @ 3
48ENDPROC(copy_page) 47ENDPROC(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 592c179112d1..caf5019d8161 100644
--- a/arch/arm/lib/copy_to_user.S
+++ b/arch/arm/lib/copy_to_user.S
@@ -13,7 +13,6 @@
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>
17 16
18/* 17/*
19 * Prototype: 18 * Prototype:
@@ -100,9 +99,6 @@ WEAK(arm_copy_to_user)
100 99
101ENDPROC(arm_copy_to_user) 100ENDPROC(arm_copy_to_user)
102ENDPROC(__copy_to_user_std) 101ENDPROC(__copy_to_user_std)
103#ifndef CONFIG_UACCESS_WITH_MEMCPY
104EXPORT_SYMBOL(arm_copy_to_user)
105#endif
106 102
107 .pushsection .text.fixup,"ax" 103 .pushsection .text.fixup,"ax"
108 .align 0 104 .align 0
diff --git a/arch/arm/lib/csumipv6.S b/arch/arm/lib/csumipv6.S
index 68603b5ee537..3ac6ef01bc43 100644
--- a/arch/arm/lib/csumipv6.S
+++ b/arch/arm/lib/csumipv6.S
@@ -9,7 +9,6 @@
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>
13 12
14 .text 13 .text
15 14
@@ -31,4 +30,4 @@ ENTRY(__csum_ipv6_magic)
31 adcs r0, r0, #0 30 adcs r0, r0, #0
32 ldmfd sp!, {pc} 31 ldmfd sp!, {pc}
33ENDPROC(__csum_ipv6_magic) 32ENDPROC(__csum_ipv6_magic)
34EXPORT_SYMBOL(__csum_ipv6_magic) 33
diff --git a/arch/arm/lib/csumpartial.S b/arch/arm/lib/csumpartial.S
index 830b20e81c37..984e0f29d548 100644
--- a/arch/arm/lib/csumpartial.S
+++ b/arch/arm/lib/csumpartial.S
@@ -9,7 +9,6 @@
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>
13 12
14 .text 13 .text
15 14
@@ -141,4 +140,3 @@ ENTRY(csum_partial)
141 bne 4b 140 bne 4b
142 b .Lless4 141 b .Lless4
143ENDPROC(csum_partial) 142ENDPROC(csum_partial)
144EXPORT_SYMBOL(csum_partial)
diff --git a/arch/arm/lib/csumpartialcopy.S b/arch/arm/lib/csumpartialcopy.S
index 9c3383fed129..d03fc71fc88c 100644
--- a/arch/arm/lib/csumpartialcopy.S
+++ b/arch/arm/lib/csumpartialcopy.S
@@ -49,6 +49,5 @@
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)
53 52
54#include "csumpartialcopygeneric.S" 53#include "csumpartialcopygeneric.S"
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S
index 8b94d20e51d1..10b45909610c 100644
--- a/arch/arm/lib/csumpartialcopygeneric.S
+++ b/arch/arm/lib/csumpartialcopygeneric.S
@@ -8,7 +8,6 @@
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>
12 11
13/* 12/*
14 * unsigned int 13 * unsigned int
@@ -332,4 +331,3 @@ FN_ENTRY
332 mov r5, r4, get_byte_1 331 mov r5, r4, get_byte_1
333 b .Lexit 332 b .Lexit
334FN_EXIT 333FN_EXIT
335FN_EXPORT
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S
index 5d495edf3d83..1712f132b80d 100644
--- a/arch/arm/lib/csumpartialcopyuser.S
+++ b/arch/arm/lib/csumpartialcopyuser.S
@@ -73,7 +73,6 @@
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)
77 76
78#include "csumpartialcopygeneric.S" 77#include "csumpartialcopygeneric.S"
79 78
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
index 69aad80a3af4..2cef11884857 100644
--- a/arch/arm/lib/delay.c
+++ b/arch/arm/lib/delay.c
@@ -24,7 +24,6 @@
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>
28#include <linux/timex.h> 27#include <linux/timex.h>
29 28
30/* 29/*
@@ -35,7 +34,6 @@ struct arm_delay_ops arm_delay_ops __ro_after_init = {
35 .const_udelay = __loop_const_udelay, 34 .const_udelay = __loop_const_udelay,
36 .udelay = __loop_udelay, 35 .udelay = __loop_udelay,
37}; 36};
38EXPORT_SYMBOL(arm_delay_ops);
39 37
40static const struct delay_timer *delay_timer; 38static const struct delay_timer *delay_timer;
41static bool delay_calibrated; 39static bool delay_calibrated;
diff --git a/arch/arm/lib/div64.S b/arch/arm/lib/div64.S
index 0c9e1c18fc9e..a9eafe4981eb 100644
--- a/arch/arm/lib/div64.S
+++ b/arch/arm/lib/div64.S
@@ -15,7 +15,6 @@
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>
19 18
20#ifdef __ARMEB__ 19#ifdef __ARMEB__
21#define xh r0 20#define xh r0
@@ -211,4 +210,3 @@ Ldiv0_64:
211 210
212UNWIND(.fnend) 211UNWIND(.fnend)
213ENDPROC(__do_div64) 212ENDPROC(__do_div64)
214EXPORT_SYMBOL(__do_div64)
diff --git a/arch/arm/lib/findbit.S b/arch/arm/lib/findbit.S
index 26302b8cd38f..7848780e8834 100644
--- a/arch/arm/lib/findbit.S
+++ b/arch/arm/lib/findbit.S
@@ -15,7 +15,6 @@
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>
19 .text 18 .text
20 19
21/* 20/*
@@ -38,7 +37,6 @@ ENTRY(_find_first_zero_bit_le)
383: mov r0, r1 @ no free bits 373: mov r0, r1 @ no free bits
39 ret lr 38 ret lr
40ENDPROC(_find_first_zero_bit_le) 39ENDPROC(_find_first_zero_bit_le)
41EXPORT_SYMBOL(_find_first_zero_bit_le)
42 40
43/* 41/*
44 * Purpose : Find next 'zero' bit 42 * Purpose : Find next 'zero' bit
@@ -59,7 +57,6 @@ ENTRY(_find_next_zero_bit_le)
59 add r2, r2, #1 @ align bit pointer 57 add r2, r2, #1 @ align bit pointer
60 b 2b @ loop for next bit 58 b 2b @ loop for next bit
61ENDPROC(_find_next_zero_bit_le) 59ENDPROC(_find_next_zero_bit_le)
62EXPORT_SYMBOL(_find_next_zero_bit_le)
63 60
64/* 61/*
65 * Purpose : Find a 'one' bit 62 * Purpose : Find a 'one' bit
@@ -81,7 +78,6 @@ ENTRY(_find_first_bit_le)
813: mov r0, r1 @ no free bits 783: mov r0, r1 @ no free bits
82 ret lr 79 ret lr
83ENDPROC(_find_first_bit_le) 80ENDPROC(_find_first_bit_le)
84EXPORT_SYMBOL(_find_first_bit_le)
85 81
86/* 82/*
87 * Purpose : Find next 'one' bit 83 * Purpose : Find next 'one' bit
@@ -101,7 +97,6 @@ ENTRY(_find_next_bit_le)
101 add r2, r2, #1 @ align bit pointer 97 add r2, r2, #1 @ align bit pointer
102 b 2b @ loop for next bit 98 b 2b @ loop for next bit
103ENDPROC(_find_next_bit_le) 99ENDPROC(_find_next_bit_le)
104EXPORT_SYMBOL(_find_next_bit_le)
105 100
106#ifdef __ARMEB__ 101#ifdef __ARMEB__
107 102
@@ -121,7 +116,6 @@ ENTRY(_find_first_zero_bit_be)
1213: mov r0, r1 @ no free bits 1163: mov r0, r1 @ no free bits
122 ret lr 117 ret lr
123ENDPROC(_find_first_zero_bit_be) 118ENDPROC(_find_first_zero_bit_be)
124EXPORT_SYMBOL(_find_first_zero_bit_be)
125 119
126ENTRY(_find_next_zero_bit_be) 120ENTRY(_find_next_zero_bit_be)
127 teq r1, #0 121 teq r1, #0
@@ -139,7 +133,6 @@ ENTRY(_find_next_zero_bit_be)
139 add r2, r2, #1 @ align bit pointer 133 add r2, r2, #1 @ align bit pointer
140 b 2b @ loop for next bit 134 b 2b @ loop for next bit
141ENDPROC(_find_next_zero_bit_be) 135ENDPROC(_find_next_zero_bit_be)
142EXPORT_SYMBOL(_find_next_zero_bit_be)
143 136
144ENTRY(_find_first_bit_be) 137ENTRY(_find_first_bit_be)
145 teq r1, #0 138 teq r1, #0
@@ -157,7 +150,6 @@ ENTRY(_find_first_bit_be)
1573: mov r0, r1 @ no free bits 1503: mov r0, r1 @ no free bits
158 ret lr 151 ret lr
159ENDPROC(_find_first_bit_be) 152ENDPROC(_find_first_bit_be)
160EXPORT_SYMBOL(_find_first_bit_be)
161 153
162ENTRY(_find_next_bit_be) 154ENTRY(_find_next_bit_be)
163 teq r1, #0 155 teq r1, #0
@@ -174,7 +166,6 @@ ENTRY(_find_next_bit_be)
174 add r2, r2, #1 @ align bit pointer 166 add r2, r2, #1 @ align bit pointer
175 b 2b @ loop for next bit 167 b 2b @ loop for next bit
176ENDPROC(_find_next_bit_be) 168ENDPROC(_find_next_bit_be)
177EXPORT_SYMBOL(_find_next_bit_be)
178 169
179#endif 170#endif
180 171
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S
index 9d09a38e73af..8ecfd15c3a02 100644
--- a/arch/arm/lib/getuser.S
+++ b/arch/arm/lib/getuser.S
@@ -31,7 +31,6 @@
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>
35 34
36ENTRY(__get_user_1) 35ENTRY(__get_user_1)
37 check_uaccess r0, 1, r1, r2, __get_user_bad 36 check_uaccess r0, 1, r1, r2, __get_user_bad
@@ -39,7 +38,6 @@ ENTRY(__get_user_1)
39 mov r0, #0 38 mov r0, #0
40 ret lr 39 ret lr
41ENDPROC(__get_user_1) 40ENDPROC(__get_user_1)
42EXPORT_SYMBOL(__get_user_1)
43 41
44ENTRY(__get_user_2) 42ENTRY(__get_user_2)
45 check_uaccess r0, 2, r1, r2, __get_user_bad 43 check_uaccess r0, 2, r1, r2, __get_user_bad
@@ -60,7 +58,6 @@ rb .req r0
60 mov r0, #0 58 mov r0, #0
61 ret lr 59 ret lr
62ENDPROC(__get_user_2) 60ENDPROC(__get_user_2)
63EXPORT_SYMBOL(__get_user_2)
64 61
65ENTRY(__get_user_4) 62ENTRY(__get_user_4)
66 check_uaccess r0, 4, r1, r2, __get_user_bad 63 check_uaccess r0, 4, r1, r2, __get_user_bad
@@ -68,7 +65,6 @@ ENTRY(__get_user_4)
68 mov r0, #0 65 mov r0, #0
69 ret lr 66 ret lr
70ENDPROC(__get_user_4) 67ENDPROC(__get_user_4)
71EXPORT_SYMBOL(__get_user_4)
72 68
73ENTRY(__get_user_8) 69ENTRY(__get_user_8)
74 check_uaccess r0, 8, r1, r2, __get_user_bad 70 check_uaccess r0, 8, r1, r2, __get_user_bad
@@ -82,7 +78,6 @@ ENTRY(__get_user_8)
82 mov r0, #0 78 mov r0, #0
83 ret lr 79 ret lr
84ENDPROC(__get_user_8) 80ENDPROC(__get_user_8)
85EXPORT_SYMBOL(__get_user_8)
86 81
87#ifdef __ARMEB__ 82#ifdef __ARMEB__
88ENTRY(__get_user_32t_8) 83ENTRY(__get_user_32t_8)
@@ -96,7 +91,6 @@ ENTRY(__get_user_32t_8)
96 mov r0, #0 91 mov r0, #0
97 ret lr 92 ret lr
98ENDPROC(__get_user_32t_8) 93ENDPROC(__get_user_32t_8)
99EXPORT_SYMBOL(__get_user_32t_8)
100 94
101ENTRY(__get_user_64t_1) 95ENTRY(__get_user_64t_1)
102 check_uaccess r0, 1, r1, r2, __get_user_bad8 96 check_uaccess r0, 1, r1, r2, __get_user_bad8
@@ -104,7 +98,6 @@ ENTRY(__get_user_64t_1)
104 mov r0, #0 98 mov r0, #0
105 ret lr 99 ret lr
106ENDPROC(__get_user_64t_1) 100ENDPROC(__get_user_64t_1)
107EXPORT_SYMBOL(__get_user_64t_1)
108 101
109ENTRY(__get_user_64t_2) 102ENTRY(__get_user_64t_2)
110 check_uaccess r0, 2, r1, r2, __get_user_bad8 103 check_uaccess r0, 2, r1, r2, __get_user_bad8
@@ -121,7 +114,6 @@ rb .req r0
121 mov r0, #0 114 mov r0, #0
122 ret lr 115 ret lr
123ENDPROC(__get_user_64t_2) 116ENDPROC(__get_user_64t_2)
124EXPORT_SYMBOL(__get_user_64t_2)
125 117
126ENTRY(__get_user_64t_4) 118ENTRY(__get_user_64t_4)
127 check_uaccess r0, 4, r1, r2, __get_user_bad8 119 check_uaccess r0, 4, r1, r2, __get_user_bad8
@@ -129,7 +121,6 @@ ENTRY(__get_user_64t_4)
129 mov r0, #0 121 mov r0, #0
130 ret lr 122 ret lr
131ENDPROC(__get_user_64t_4) 123ENDPROC(__get_user_64t_4)
132EXPORT_SYMBOL(__get_user_64t_4)
133#endif 124#endif
134 125
135__get_user_bad8: 126__get_user_bad8:
diff --git a/arch/arm/lib/io-readsb.S b/arch/arm/lib/io-readsb.S
index 3dff7a3a2aef..c31b2f3153f1 100644
--- a/arch/arm/lib/io-readsb.S
+++ b/arch/arm/lib/io-readsb.S
@@ -9,7 +9,6 @@
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>
13 12
14.Linsb_align: rsb ip, ip, #4 13.Linsb_align: rsb ip, ip, #4
15 cmp ip, r2 14 cmp ip, r2
@@ -122,4 +121,3 @@ ENTRY(__raw_readsb)
122 121
123 ldmfd sp!, {r4 - r6, pc} 122 ldmfd sp!, {r4 - r6, pc}
124ENDPROC(__raw_readsb) 123ENDPROC(__raw_readsb)
125EXPORT_SYMBOL(__raw_readsb)
diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S
index bfd39682325b..2ed86fa5465f 100644
--- a/arch/arm/lib/io-readsl.S
+++ b/arch/arm/lib/io-readsl.S
@@ -9,7 +9,6 @@
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>
13 12
14ENTRY(__raw_readsl) 13ENTRY(__raw_readsl)
15 teq r2, #0 @ do we have to check for the zero len? 14 teq r2, #0 @ do we have to check for the zero len?
@@ -78,4 +77,3 @@ ENTRY(__raw_readsl)
78 strb r3, [r1, #0] 77 strb r3, [r1, #0]
79 ret lr 78 ret lr
80ENDPROC(__raw_readsl) 79ENDPROC(__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 b3af3db6caac..413da9914529 100644
--- a/arch/arm/lib/io-readsw-armv3.S
+++ b/arch/arm/lib/io-readsw-armv3.S
@@ -9,7 +9,6 @@
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>
13 12
14.Linsw_bad_alignment: 13.Linsw_bad_alignment:
15 adr r0, .Linsw_bad_align_msg 14 adr r0, .Linsw_bad_align_msg
@@ -104,4 +103,4 @@ ENTRY(__raw_readsw)
104 103
105 ldmfd sp!, {r4, r5, r6, pc} 104 ldmfd sp!, {r4, r5, r6, pc}
106 105
107EXPORT_SYMBOL(__raw_readsw) 106
diff --git a/arch/arm/lib/io-readsw-armv4.S b/arch/arm/lib/io-readsw-armv4.S
index 3c7a7a40b33e..d9a45e9692ae 100644
--- a/arch/arm/lib/io-readsw-armv4.S
+++ b/arch/arm/lib/io-readsw-armv4.S
@@ -9,7 +9,6 @@
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>
13 12
14 .macro pack, rd, hw1, hw2 13 .macro pack, rd, hw1, hw2
15#ifndef __ARMEB__ 14#ifndef __ARMEB__
@@ -130,4 +129,3 @@ ENTRY(__raw_readsw)
130 strneb ip, [r1] 129 strneb ip, [r1]
131 ldmfd sp!, {r4, pc} 130 ldmfd sp!, {r4, pc}
132ENDPROC(__raw_readsw) 131ENDPROC(__raw_readsw)
133EXPORT_SYMBOL(__raw_readsw)
diff --git a/arch/arm/lib/io-writesb.S b/arch/arm/lib/io-writesb.S
index fa3633594415..a46bbc9b168b 100644
--- a/arch/arm/lib/io-writesb.S
+++ b/arch/arm/lib/io-writesb.S
@@ -9,7 +9,6 @@
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>
13 12
14 .macro outword, rd 13 .macro outword, rd
15#ifndef __ARMEB__ 14#ifndef __ARMEB__
@@ -93,4 +92,3 @@ ENTRY(__raw_writesb)
93 92
94 ldmfd sp!, {r4, r5, pc} 93 ldmfd sp!, {r4, r5, pc}
95ENDPROC(__raw_writesb) 94ENDPROC(__raw_writesb)
96EXPORT_SYMBOL(__raw_writesb)
diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S
index 98ed6aec0b47..4ea2435988c1 100644
--- a/arch/arm/lib/io-writesl.S
+++ b/arch/arm/lib/io-writesl.S
@@ -9,7 +9,6 @@
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>
13 12
14ENTRY(__raw_writesl) 13ENTRY(__raw_writesl)
15 teq r2, #0 @ do we have to check for the zero len? 14 teq r2, #0 @ do we have to check for the zero len?
@@ -66,4 +65,3 @@ ENTRY(__raw_writesl)
66 bne 6b 65 bne 6b
67 ret lr 66 ret lr
68ENDPROC(__raw_writesl) 67ENDPROC(__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 577184c082bb..121789eb6802 100644
--- a/arch/arm/lib/io-writesw-armv3.S
+++ b/arch/arm/lib/io-writesw-armv3.S
@@ -9,7 +9,6 @@
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>
13 12
14.Loutsw_bad_alignment: 13.Loutsw_bad_alignment:
15 adr r0, .Loutsw_bad_align_msg 14 adr r0, .Loutsw_bad_align_msg
@@ -125,4 +124,3 @@ ENTRY(__raw_writesw)
125 strne ip, [r0] 124 strne ip, [r0]
126 125
127 ldmfd sp!, {r4, r5, r6, pc} 126 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 e335f489d1fc..269f90c51ad2 100644
--- a/arch/arm/lib/io-writesw-armv4.S
+++ b/arch/arm/lib/io-writesw-armv4.S
@@ -9,7 +9,6 @@
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>
13 12
14 .macro outword, rd 13 .macro outword, rd
15#ifndef __ARMEB__ 14#ifndef __ARMEB__
@@ -99,4 +98,3 @@ ENTRY(__raw_writesw)
99 strneh ip, [r0] 98 strneh ip, [r0]
100 ret lr 99 ret lr
101ENDPROC(__raw_writesw) 100ENDPROC(__raw_writesw)
102EXPORT_SYMBOL(__raw_writesw)
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index f541bc013bff..9397b2e532af 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -36,7 +36,6 @@ 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>
40 39
41.macro ARM_DIV_BODY dividend, divisor, result, curbit 40.macro ARM_DIV_BODY dividend, divisor, result, curbit
42 41
@@ -239,8 +238,6 @@ UNWIND(.fnstart)
239UNWIND(.fnend) 238UNWIND(.fnend)
240ENDPROC(__udivsi3) 239ENDPROC(__udivsi3)
241ENDPROC(__aeabi_uidiv) 240ENDPROC(__aeabi_uidiv)
242EXPORT_SYMBOL(__udivsi3)
243EXPORT_SYMBOL(__aeabi_uidiv)
244 241
245ENTRY(__umodsi3) 242ENTRY(__umodsi3)
246UNWIND(.fnstart) 243UNWIND(.fnstart)
@@ -259,7 +256,6 @@ UNWIND(.fnstart)
259 256
260UNWIND(.fnend) 257UNWIND(.fnend)
261ENDPROC(__umodsi3) 258ENDPROC(__umodsi3)
262EXPORT_SYMBOL(__umodsi3)
263 259
264#ifdef CONFIG_ARM_PATCH_IDIV 260#ifdef CONFIG_ARM_PATCH_IDIV
265 .align 3 261 .align 3
@@ -307,8 +303,6 @@ UNWIND(.fnstart)
307UNWIND(.fnend) 303UNWIND(.fnend)
308ENDPROC(__divsi3) 304ENDPROC(__divsi3)
309ENDPROC(__aeabi_idiv) 305ENDPROC(__aeabi_idiv)
310EXPORT_SYMBOL(__divsi3)
311EXPORT_SYMBOL(__aeabi_idiv)
312 306
313ENTRY(__modsi3) 307ENTRY(__modsi3)
314UNWIND(.fnstart) 308UNWIND(.fnstart)
@@ -333,7 +327,6 @@ UNWIND(.fnstart)
333 327
334UNWIND(.fnend) 328UNWIND(.fnend)
335ENDPROC(__modsi3) 329ENDPROC(__modsi3)
336EXPORT_SYMBOL(__modsi3)
337 330
338#ifdef CONFIG_AEABI 331#ifdef CONFIG_AEABI
339 332
@@ -350,7 +343,6 @@ UNWIND(.save {r0, r1, ip, lr} )
350 343
351UNWIND(.fnend) 344UNWIND(.fnend)
352ENDPROC(__aeabi_uidivmod) 345ENDPROC(__aeabi_uidivmod)
353EXPORT_SYMBOL(__aeabi_uidivmod)
354 346
355ENTRY(__aeabi_idivmod) 347ENTRY(__aeabi_idivmod)
356UNWIND(.fnstart) 348UNWIND(.fnstart)
@@ -364,7 +356,6 @@ UNWIND(.save {r0, r1, ip, lr} )
364 356
365UNWIND(.fnend) 357UNWIND(.fnend)
366ENDPROC(__aeabi_idivmod) 358ENDPROC(__aeabi_idivmod)
367EXPORT_SYMBOL(__aeabi_idivmod)
368 359
369#endif 360#endif
370 361
diff --git a/arch/arm/lib/lshrdi3.S b/arch/arm/lib/lshrdi3.S
index e40833981417..922dcd88b02b 100644
--- a/arch/arm/lib/lshrdi3.S
+++ b/arch/arm/lib/lshrdi3.S
@@ -28,7 +28,6 @@ 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>
32 31
33#ifdef __ARMEB__ 32#ifdef __ARMEB__
34#define al r1 33#define al r1
@@ -53,5 +52,3 @@ ENTRY(__aeabi_llsr)
53 52
54ENDPROC(__lshrdi3) 53ENDPROC(__lshrdi3)
55ENDPROC(__aeabi_llsr) 54ENDPROC(__aeabi_llsr)
56EXPORT_SYMBOL(__lshrdi3)
57EXPORT_SYMBOL(__aeabi_llsr)
diff --git a/arch/arm/lib/memchr.S b/arch/arm/lib/memchr.S
index 44182bf686a5..74a5bed6d999 100644
--- a/arch/arm/lib/memchr.S
+++ b/arch/arm/lib/memchr.S
@@ -11,7 +11,6 @@
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>
15 14
16 .text 15 .text
17 .align 5 16 .align 5
@@ -25,4 +24,3 @@ ENTRY(memchr)
252: movne r0, #0 242: movne r0, #0
26 ret lr 25 ret lr
27ENDPROC(memchr) 26ENDPROC(memchr)
28EXPORT_SYMBOL(memchr)
diff --git a/arch/arm/lib/memcpy.S b/arch/arm/lib/memcpy.S
index 1be5b6ddf37c..64111bd4440b 100644
--- a/arch/arm/lib/memcpy.S
+++ b/arch/arm/lib/memcpy.S
@@ -13,7 +13,6 @@
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>
17 16
18#define LDR1W_SHIFT 0 17#define LDR1W_SHIFT 0
19#define STR1W_SHIFT 0 18#define STR1W_SHIFT 0
@@ -69,5 +68,3 @@ ENTRY(memcpy)
69 68
70ENDPROC(memcpy) 69ENDPROC(memcpy)
71ENDPROC(mmiocpy) 70ENDPROC(mmiocpy)
72EXPORT_SYMBOL(memcpy)
73EXPORT_SYMBOL(mmiocpy)
diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S
index 71dcc5400d02..69a9d47fc5ab 100644
--- a/arch/arm/lib/memmove.S
+++ b/arch/arm/lib/memmove.S
@@ -13,7 +13,6 @@
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>
17 16
18 .text 17 .text
19 18
@@ -226,4 +225,3 @@ ENTRY(memmove)
22618: backward_copy_shift push=24 pull=8 22518: backward_copy_shift push=24 pull=8
227 226
228ENDPROC(memmove) 227ENDPROC(memmove)
229EXPORT_SYMBOL(memmove)
diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S
index 7b72044cba62..3c65e3bd790f 100644
--- a/arch/arm/lib/memset.S
+++ b/arch/arm/lib/memset.S
@@ -12,7 +12,6 @@
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>
16 15
17 .text 16 .text
18 .align 5 17 .align 5
@@ -136,5 +135,3 @@ UNWIND( .fnstart )
136UNWIND( .fnend ) 135UNWIND( .fnend )
137ENDPROC(memset) 136ENDPROC(memset)
138ENDPROC(mmioset) 137ENDPROC(mmioset)
139EXPORT_SYMBOL(memset)
140EXPORT_SYMBOL(mmioset)
diff --git a/arch/arm/lib/memzero.S b/arch/arm/lib/memzero.S
index 6dec26ed5bcc..0eded952e089 100644
--- a/arch/arm/lib/memzero.S
+++ b/arch/arm/lib/memzero.S
@@ -10,7 +10,6 @@
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>
14 13
15 .text 14 .text
16 .align 5 15 .align 5
@@ -136,4 +135,3 @@ UNWIND( .fnstart )
136 ret lr @ 1 135 ret lr @ 1
137UNWIND( .fnend ) 136UNWIND( .fnend )
138ENDPROC(__memzero) 137ENDPROC(__memzero)
139EXPORT_SYMBOL(__memzero)
diff --git a/arch/arm/lib/muldi3.S b/arch/arm/lib/muldi3.S
index b8f12388ccac..204305956925 100644
--- a/arch/arm/lib/muldi3.S
+++ b/arch/arm/lib/muldi3.S
@@ -12,7 +12,6 @@
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>
16 15
17#ifdef __ARMEB__ 16#ifdef __ARMEB__
18#define xh r0 17#define xh r0
@@ -47,5 +46,3 @@ ENTRY(__aeabi_lmul)
47 46
48ENDPROC(__muldi3) 47ENDPROC(__muldi3)
49ENDPROC(__aeabi_lmul) 48ENDPROC(__aeabi_lmul)
50EXPORT_SYMBOL(__muldi3)
51EXPORT_SYMBOL(__aeabi_lmul)
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S
index 11de126e2ed6..38d660d3705f 100644
--- a/arch/arm/lib/putuser.S
+++ b/arch/arm/lib/putuser.S
@@ -31,7 +31,6 @@
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>
35 34
36ENTRY(__put_user_1) 35ENTRY(__put_user_1)
37 check_uaccess r0, 1, r1, ip, __put_user_bad 36 check_uaccess r0, 1, r1, ip, __put_user_bad
@@ -39,7 +38,6 @@ ENTRY(__put_user_1)
39 mov r0, #0 38 mov r0, #0
40 ret lr 39 ret lr
41ENDPROC(__put_user_1) 40ENDPROC(__put_user_1)
42EXPORT_SYMBOL(__put_user_1)
43 41
44ENTRY(__put_user_2) 42ENTRY(__put_user_2)
45 check_uaccess r0, 2, r1, ip, __put_user_bad 43 check_uaccess r0, 2, r1, ip, __put_user_bad
@@ -64,7 +62,6 @@ ENTRY(__put_user_2)
64 mov r0, #0 62 mov r0, #0
65 ret lr 63 ret lr
66ENDPROC(__put_user_2) 64ENDPROC(__put_user_2)
67EXPORT_SYMBOL(__put_user_2)
68 65
69ENTRY(__put_user_4) 66ENTRY(__put_user_4)
70 check_uaccess r0, 4, r1, ip, __put_user_bad 67 check_uaccess r0, 4, r1, ip, __put_user_bad
@@ -72,7 +69,6 @@ ENTRY(__put_user_4)
72 mov r0, #0 69 mov r0, #0
73 ret lr 70 ret lr
74ENDPROC(__put_user_4) 71ENDPROC(__put_user_4)
75EXPORT_SYMBOL(__put_user_4)
76 72
77ENTRY(__put_user_8) 73ENTRY(__put_user_8)
78 check_uaccess r0, 8, r1, ip, __put_user_bad 74 check_uaccess r0, 8, r1, ip, __put_user_bad
@@ -86,7 +82,6 @@ ENTRY(__put_user_8)
86 mov r0, #0 82 mov r0, #0
87 ret lr 83 ret lr
88ENDPROC(__put_user_8) 84ENDPROC(__put_user_8)
89EXPORT_SYMBOL(__put_user_8)
90 85
91__put_user_bad: 86__put_user_bad:
92 mov r0, #-EFAULT 87 mov r0, #-EFAULT
diff --git a/arch/arm/lib/strchr.S b/arch/arm/lib/strchr.S
index 7301f6e6046c..013d64c71e8d 100644
--- a/arch/arm/lib/strchr.S
+++ b/arch/arm/lib/strchr.S
@@ -11,7 +11,6 @@
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>
15 14
16 .text 15 .text
17 .align 5 16 .align 5
@@ -26,4 +25,3 @@ ENTRY(strchr)
26 subeq r0, r0, #1 25 subeq r0, r0, #1
27 ret lr 26 ret lr
28ENDPROC(strchr) 27ENDPROC(strchr)
29EXPORT_SYMBOL(strchr)
diff --git a/arch/arm/lib/strrchr.S b/arch/arm/lib/strrchr.S
index aaf9fd98b754..3cec1c7482c4 100644
--- a/arch/arm/lib/strrchr.S
+++ b/arch/arm/lib/strrchr.S
@@ -11,7 +11,6 @@
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>
15 14
16 .text 15 .text
17 .align 5 16 .align 5
@@ -25,4 +24,3 @@ ENTRY(strrchr)
25 mov r0, r3 24 mov r0, r3
26 ret lr 25 ret lr
27ENDPROC(strrchr) 26ENDPROC(strrchr)
28EXPORT_SYMBOL(strrchr)
diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
index 1626e3a551a1..6bd1089b07e0 100644
--- a/arch/arm/lib/uaccess_with_memcpy.c
+++ b/arch/arm/lib/uaccess_with_memcpy.c
@@ -19,7 +19,6 @@
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>
23#include <asm/current.h> 22#include <asm/current.h>
24#include <asm/page.h> 23#include <asm/page.h>
25 24
@@ -157,7 +156,6 @@ arm_copy_to_user(void __user *to, const void *from, unsigned long n)
157 } 156 }
158 return n; 157 return n;
159} 158}
160EXPORT_SYMBOL(arm_copy_to_user);
161 159
162static unsigned long noinline 160static unsigned long noinline
163__clear_user_memset(void __user *addr, unsigned long n) 161__clear_user_memset(void __user *addr, unsigned long n)
@@ -215,7 +213,6 @@ unsigned long arm_clear_user(void __user *addr, unsigned long n)
215 } 213 }
216 return n; 214 return n;
217} 215}
218EXPORT_SYMBOL(arm_clear_user);
219 216
220#if 0 217#if 0
221 218
diff --git a/arch/arm/lib/ucmpdi2.S b/arch/arm/lib/ucmpdi2.S
index 127a91af46f3..ad4a6309141a 100644
--- a/arch/arm/lib/ucmpdi2.S
+++ b/arch/arm/lib/ucmpdi2.S
@@ -12,7 +12,6 @@
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>
16 15
17#ifdef __ARMEB__ 16#ifdef __ARMEB__
18#define xh r0 17#define xh r0
@@ -36,7 +35,6 @@ ENTRY(__ucmpdi2)
36 ret lr 35 ret lr
37 36
38ENDPROC(__ucmpdi2) 37ENDPROC(__ucmpdi2)
39EXPORT_SYMBOL(__ucmpdi2)
40 38
41#ifdef CONFIG_AEABI 39#ifdef CONFIG_AEABI
42 40
@@ -50,7 +48,6 @@ ENTRY(__aeabi_ulcmp)
50 ret lr 48 ret lr
51 49
52ENDPROC(__aeabi_ulcmp) 50ENDPROC(__aeabi_ulcmp)
53EXPORT_SYMBOL(__aeabi_ulcmp)
54 51
55#endif 52#endif
56 53
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 737450fe790c..cab128913e72 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -32,6 +32,7 @@ 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
35endif 36endif
36 37
37# i.MX21 based machines 38# i.MX21 based machines
diff --git a/arch/arm/mach-imx/ssi-fiq-ksym.c b/arch/arm/mach-imx/ssi-fiq-ksym.c
new file mode 100644
index 000000000000..792090f9a032
--- /dev/null
+++ b/arch/arm/mach-imx/ssi-fiq-ksym.c
@@ -0,0 +1,20 @@
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 fd7917f1c204..a8b93c5f29b5 100644
--- a/arch/arm/mach-imx/ssi-fiq.S
+++ b/arch/arm/mach-imx/ssi-fiq.S
@@ -8,7 +8,6 @@
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>
12 11
13/* 12/*
14 * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size 13 * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size
@@ -145,8 +144,4 @@ imx_ssi_fiq_tx_buffer:
145 .word 0x0 144 .word 0x0
146.L_imx_ssi_fiq_end: 145.L_imx_ssi_fiq_end:
147imx_ssi_fiq_end: 146imx_ssi_fiq_end:
148EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer) 147
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)