@@ -317,10 +317,13 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
#define writesl(p,d,l) __raw_writesl(p,d,l)
#ifndef __ARMBE__
+
+extern void mmioset(void *, unsigned int, size_t);
+extern void mmiocpy(void *, const void *, size_t);
+
static inline void memset_io(volatile void __iomem *dst, unsigned c,
size_t count)
{
- extern void mmioset(void *, unsigned int, size_t);
mmioset((void __force *)dst, c, count);
}
#define memset_io(dst,c,count) memset_io(dst,c,count)
@@ -328,7 +331,6 @@ static inline void memset_io(volatile void __iomem *dst, unsigned c,
static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
size_t count)
{
- extern void mmiocpy(void *, const void *, size_t);
mmiocpy(to, (const void __force *)from, count);
}
#define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
@@ -336,7 +338,6 @@ static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
static inline void memcpy_toio(volatile void __iomem *to, const void *from,
size_t count)
{
- extern void mmiocpy(void *, const void *, size_t);
mmiocpy((void __force *)to, from, count);
}
#define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
@@ -3,7 +3,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <asm/ftrace.h>
+#else
#include <asm/assembler.h>
#include <asm/ftrace.h>
#include <asm/unwind.h>
@@ -154,7 +156,6 @@ ENTRY(mcount)
__mcount _old
#endif
ENDPROC(mcount)
-EXPORT_SYMBOL(mcount)
#ifdef CONFIG_DYNAMIC_FTRACE
ENTRY(ftrace_caller_old)
@@ -207,7 +208,6 @@ UNWIND(.fnstart)
#endif
UNWIND(.fnend)
ENDPROC(__gnu_mcount_nc)
-EXPORT_SYMBOL(__gnu_mcount_nc)
#ifdef CONFIG_DYNAMIC_FTRACE
ENTRY(ftrace_caller)
@@ -244,3 +244,9 @@ ENTRY(ftrace_stub)
.Lftrace_stub:
ret lr
ENDPROC(ftrace_stub)
+#endif
+
+#ifdef CONFIG_OLD_MCOUNT
+EXPORT_SYMBOL(mcount)
+#endif
+EXPORT_SYMBOL(__gnu_mcount_nc)
@@ -11,6 +11,9 @@
*
* Kernel startup code for all 32-bit CPUs
*/
+#ifdef __GENKSYMS__
+#include <asm/memory.h>
+#else
#include <linux/linkage.h>
#include <linux/init.h>
@@ -728,8 +731,13 @@ __pv_phys_pfn_offset:
__pv_offset:
.quad 0
.size __pv_offset, . -__pv_offset
-EXPORT_SYMBOL(__pv_phys_pfn_offset)
-EXPORT_SYMBOL(__pv_offset)
#endif
#include "head-common.S"
+
+#endif
+
+#ifdef CONFIG_ARM_PATCH_PHYS_VIRT
+EXPORT_SYMBOL(__pv_phys_pfn_offset);
+EXPORT_SYMBOL(__pv_offset);
+#endif
@@ -11,6 +11,9 @@
* GNU General Public License for more details.
*
*/
+#ifdef __GENKSYMS__
+#include <linux/arm-smccc.h>
+#else
#include <linux/linkage.h>
#include <asm/opcodes-sec.h>
@@ -52,7 +55,6 @@ UNWIND( .fnend)
ENTRY(arm_smccc_smc)
SMCCC SMCCC_SMC
ENDPROC(arm_smccc_smc)
-EXPORT_SYMBOL(arm_smccc_smc)
/*
* void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2,
@@ -62,4 +64,6 @@ EXPORT_SYMBOL(arm_smccc_smc)
ENTRY(arm_smccc_hvc)
SMCCC SMCCC_HVC
ENDPROC(arm_smccc_hvc)
+#endif
+EXPORT_SYMBOL(arm_smccc_smc)
EXPORT_SYMBOL(arm_smccc_hvc)
@@ -25,7 +25,10 @@ along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-
+#ifdef __GENKSYMS__
+extern void __ashldi3(void);
+extern void __aeabi_llsl(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -53,5 +56,7 @@ ENTRY(__aeabi_llsl)
ENDPROC(__ashldi3)
ENDPROC(__aeabi_llsl)
+#endif
+
EXPORT_SYMBOL(__ashldi3)
EXPORT_SYMBOL(__aeabi_llsl)
@@ -25,7 +25,10 @@ along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-
+#ifdef __GENKSYMS__
+extern void __ashrdi3(void);
+extern void __aeabi_lasr(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -53,5 +56,6 @@ ENTRY(__aeabi_lasr)
ENDPROC(__ashrdi3)
ENDPROC(__aeabi_lasr)
+#endif
EXPORT_SYMBOL(__ashrdi3)
EXPORT_SYMBOL(__aeabi_lasr)
@@ -1,9 +1,22 @@
+#ifdef __GENKSYMS__
+#include <linux/bitops.h>
+#define BITOP(name, instr)
+#define TESTOP(name, instr, store)
+#else
+#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
#include <asm/export.h>
+#define BITOP(name, instr) \
+ bitop name, instr
+
+#define TESTOP(name, instr, store) \
+ testop name, instr, store
+
#if __LINUX_ARM_ARCH__ >= 6
.macro bitop, name, instr
+ .text
ENTRY( \name )
UNWIND( .fnstart )
ands ip, r1, #3
@@ -26,10 +39,10 @@ UNWIND( .fnstart )
bx lr
UNWIND( .fnend )
ENDPROC(\name )
-EXPORT_SYMBOL(\name )
.endm
.macro testop, name, instr, store
+ .text
ENTRY( \name )
UNWIND( .fnstart )
ands ip, r1, #3
@@ -57,7 +70,6 @@ UNWIND( .fnstart )
2: bx lr
UNWIND( .fnend )
ENDPROC(\name )
-EXPORT_SYMBOL(\name )
.endm
#else
.macro bitop, name, instr
@@ -77,7 +89,6 @@ UNWIND( .fnstart )
ret lr
UNWIND( .fnend )
ENDPROC(\name )
-EXPORT_SYMBOL(\name )
.endm
/**
@@ -106,6 +117,6 @@ UNWIND( .fnstart )
ret lr
UNWIND( .fnend )
ENDPROC(\name )
-EXPORT_SYMBOL(\name )
.endm
#endif
+#endif
@@ -1,3 +1,7 @@
+#ifdef __GENKSYMS__
+extern void __bswapsi2(void);
+extern void __bswapdi2(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -36,5 +40,6 @@ ENTRY(__bswapdi2)
ret lr
ENDPROC(__bswapdi2)
#endif
+#endif
EXPORT_SYMBOL(__bswapsi2)
EXPORT_SYMBOL(__bswapdi2)
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-bitop _change_bit, eor
+BITOP(_change_bit, eor)
+EXPORT_SYMBOL(_change_bit)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -51,12 +54,13 @@ USER( strnebt r2, [r0])
UNWIND(.fnend)
ENDPROC(arm_clear_user)
ENDPROC(__clear_user_std)
-#ifndef CONFIG_UACCESS_WITH_MEMCPY
-EXPORT_SYMBOL(arm_clear_user)
-#endif
.pushsection .text.fixup,"ax"
.align 0
9001: ldmfd sp!, {r0, pc}
.popsection
+#endif
+#ifndef CONFIG_UACCESS_WITH_MEMCPY
+EXPORT_SYMBOL(arm_clear_user)
+#endif
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-bitop _clear_bit, bic
+BITOP(_clear_bit, bic)
+EXPORT_SYMBOL(_clear_bit)
@@ -9,7 +9,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <asm/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -95,7 +97,6 @@ ENTRY(arm_copy_from_user)
#include "copy_template.S"
ENDPROC(arm_copy_from_user)
-EXPORT_SYMBOL(arm_copy_from_user)
.pushsection .fixup,"ax"
.align 0
@@ -108,4 +109,6 @@ EXPORT_SYMBOL(arm_copy_from_user)
ldr r0, [sp], #4
copy_abort_end
.popsection
+#endif
+EXPORT_SYMBOL(arm_copy_from_user)
@@ -9,6 +9,9 @@
*
* ASM optimised string functions
*/
+#ifdef __GENKSYMS__
+#include <asm/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/asm-offsets.h>
@@ -46,4 +49,6 @@ ENTRY(copy_page)
PLD( beq 2b )
ldmfd sp!, {r4, pc} @ 3
ENDPROC(copy_page)
+#endif
+
EXPORT_SYMBOL(copy_page)
@@ -9,7 +9,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <asm/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -100,9 +102,6 @@ WEAK(arm_copy_to_user)
ENDPROC(arm_copy_to_user)
ENDPROC(__copy_to_user_std)
-#ifndef CONFIG_UACCESS_WITH_MEMCPY
-EXPORT_SYMBOL(arm_copy_to_user)
-#endif
.pushsection .text.fixup,"ax"
.align 0
@@ -112,4 +111,8 @@ EXPORT_SYMBOL(arm_copy_to_user)
rsb r0, r0, r2
copy_abort_end
.popsection
+#endif
+#ifndef CONFIG_UACCESS_WITH_MEMCPY
+EXPORT_SYMBOL(arm_copy_to_user)
+#endif
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/checksum.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -31,4 +34,6 @@ ENTRY(__csum_ipv6_magic)
adcs r0, r0, #0
ldmfd sp!, {pc}
ENDPROC(__csum_ipv6_magic)
+#endif
+
EXPORT_SYMBOL(__csum_ipv6_magic)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/checksum.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -141,4 +144,5 @@ ENTRY(csum_partial)
bne 4b
b .Lless4
ENDPROC(csum_partial)
+#endif
EXPORT_SYMBOL(csum_partial)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/checksum.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
@@ -49,6 +52,8 @@
#define FN_ENTRY ENTRY(csum_partial_copy_nocheck)
#define FN_EXIT ENDPROC(csum_partial_copy_nocheck)
-#define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_nocheck)
#include "csumpartialcopygeneric.S"
+#endif
+
+EXPORT_SYMBOL(csum_partial_copy_nocheck)
@@ -332,4 +332,3 @@ FN_ENTRY
mov r5, r4, get_byte_1
b .Lexit
FN_EXIT
-FN_EXPORT
@@ -10,6 +10,9 @@
* 27/03/03 Ian Molton Clean up CONFIG_CPU
*
*/
+#ifdef __GENKSYMS__
+#include <asm/checksum.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/errno.h>
@@ -73,7 +76,6 @@
#define FN_ENTRY ENTRY(csum_partial_copy_from_user)
#define FN_EXIT ENDPROC(csum_partial_copy_from_user)
-#define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_from_user)
#include "csumpartialcopygeneric.S"
@@ -96,3 +98,6 @@
bne 9002b
load_regs
.popsection
+#endif
+
+EXPORT_SYMBOL(csum_partial_copy_from_user)
@@ -11,7 +11,10 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <asm/div64.h>
+extern void __do_div64(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -211,4 +214,6 @@ Ldiv0_64:
UNWIND(.fnend)
ENDPROC(__do_div64)
+#endif
+
EXPORT_SYMBOL(__do_div64)
@@ -13,6 +13,9 @@
* also call with zero size.
* Reworked by rmk.
*/
+#ifdef __GENKSYMS__
+#include <linux/bitops.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -38,7 +41,6 @@ ENTRY(_find_first_zero_bit_le)
3: mov r0, r1 @ no free bits
ret lr
ENDPROC(_find_first_zero_bit_le)
-EXPORT_SYMBOL(_find_first_zero_bit_le)
/*
* Purpose : Find next 'zero' bit
@@ -59,7 +61,6 @@ ENTRY(_find_next_zero_bit_le)
add r2, r2, #1 @ align bit pointer
b 2b @ loop for next bit
ENDPROC(_find_next_zero_bit_le)
-EXPORT_SYMBOL(_find_next_zero_bit_le)
/*
* Purpose : Find a 'one' bit
@@ -81,7 +82,6 @@ ENTRY(_find_first_bit_le)
3: mov r0, r1 @ no free bits
ret lr
ENDPROC(_find_first_bit_le)
-EXPORT_SYMBOL(_find_first_bit_le)
/*
* Purpose : Find next 'one' bit
@@ -101,7 +101,6 @@ ENTRY(_find_next_bit_le)
add r2, r2, #1 @ align bit pointer
b 2b @ loop for next bit
ENDPROC(_find_next_bit_le)
-EXPORT_SYMBOL(_find_next_bit_le)
#ifdef __ARMEB__
@@ -121,7 +120,6 @@ ENTRY(_find_first_zero_bit_be)
3: mov r0, r1 @ no free bits
ret lr
ENDPROC(_find_first_zero_bit_be)
-EXPORT_SYMBOL(_find_first_zero_bit_be)
ENTRY(_find_next_zero_bit_be)
teq r1, #0
@@ -139,7 +137,6 @@ ENTRY(_find_next_zero_bit_be)
add r2, r2, #1 @ align bit pointer
b 2b @ loop for next bit
ENDPROC(_find_next_zero_bit_be)
-EXPORT_SYMBOL(_find_next_zero_bit_be)
ENTRY(_find_first_bit_be)
teq r1, #0
@@ -157,7 +154,6 @@ ENTRY(_find_first_bit_be)
3: mov r0, r1 @ no free bits
ret lr
ENDPROC(_find_first_bit_be)
-EXPORT_SYMBOL(_find_first_bit_be)
ENTRY(_find_next_bit_be)
teq r1, #0
@@ -174,7 +170,6 @@ ENTRY(_find_next_bit_be)
add r2, r2, #1 @ align bit pointer
b 2b @ loop for next bit
ENDPROC(_find_next_bit_be)
-EXPORT_SYMBOL(_find_next_bit_be)
#endif
@@ -202,4 +197,14 @@ EXPORT_SYMBOL(_find_next_bit_be)
cmp r1, r0 @ Clamp to maxbit
movlo r0, r1
ret lr
-
+#endif
+EXPORT_SYMBOL(_find_first_zero_bit_le)
+EXPORT_SYMBOL(_find_next_zero_bit_le)
+EXPORT_SYMBOL(_find_first_bit_le)
+EXPORT_SYMBOL(_find_next_bit_le)
+#ifdef __ARMEB__
+EXPORT_SYMBOL(_find_first_zero_bit_be)
+EXPORT_SYMBOL(_find_next_zero_bit_be)
+EXPORT_SYMBOL(_find_first_bit_be)
+EXPORT_SYMBOL(_find_next_bit_be)
+#endif
@@ -27,6 +27,9 @@
* Note that ADDR_LIMIT is either 0 or 0xc0000000.
* Note also that it is intended that __get_user_bad is not global.
*/
+#ifdef __GENKSYMS__
+#include <asm/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/errno.h>
@@ -39,7 +42,6 @@ ENTRY(__get_user_1)
mov r0, #0
ret lr
ENDPROC(__get_user_1)
-EXPORT_SYMBOL(__get_user_1)
ENTRY(__get_user_2)
check_uaccess r0, 2, r1, r2, __get_user_bad
@@ -60,7 +62,6 @@ rb .req r0
mov r0, #0
ret lr
ENDPROC(__get_user_2)
-EXPORT_SYMBOL(__get_user_2)
ENTRY(__get_user_4)
check_uaccess r0, 4, r1, r2, __get_user_bad
@@ -68,7 +69,6 @@ ENTRY(__get_user_4)
mov r0, #0
ret lr
ENDPROC(__get_user_4)
-EXPORT_SYMBOL(__get_user_4)
ENTRY(__get_user_8)
check_uaccess r0, 8, r1, r2, __get_user_bad
@@ -82,7 +82,6 @@ ENTRY(__get_user_8)
mov r0, #0
ret lr
ENDPROC(__get_user_8)
-EXPORT_SYMBOL(__get_user_8)
#ifdef __ARMEB__
ENTRY(__get_user_32t_8)
@@ -96,7 +95,6 @@ ENTRY(__get_user_32t_8)
mov r0, #0
ret lr
ENDPROC(__get_user_32t_8)
-EXPORT_SYMBOL(__get_user_32t_8)
ENTRY(__get_user_64t_1)
check_uaccess r0, 1, r1, r2, __get_user_bad8
@@ -104,7 +102,6 @@ ENTRY(__get_user_64t_1)
mov r0, #0
ret lr
ENDPROC(__get_user_64t_1)
-EXPORT_SYMBOL(__get_user_64t_1)
ENTRY(__get_user_64t_2)
check_uaccess r0, 2, r1, r2, __get_user_bad8
@@ -121,7 +118,6 @@ rb .req r0
mov r0, #0
ret lr
ENDPROC(__get_user_64t_2)
-EXPORT_SYMBOL(__get_user_64t_2)
ENTRY(__get_user_64t_4)
check_uaccess r0, 4, r1, r2, __get_user_bad8
@@ -129,7 +125,6 @@ ENTRY(__get_user_64t_4)
mov r0, #0
ret lr
ENDPROC(__get_user_64t_4)
-EXPORT_SYMBOL(__get_user_64t_4)
#endif
__get_user_bad8:
@@ -156,3 +151,15 @@ ENDPROC(__get_user_bad8)
.long 11b, __get_user_bad8
#endif
.popsection
+#endif
+
+EXPORT_SYMBOL(__get_user_1)
+EXPORT_SYMBOL(__get_user_2)
+EXPORT_SYMBOL(__get_user_4)
+EXPORT_SYMBOL(__get_user_8)
+#ifdef __ARMEB__
+EXPORT_SYMBOL(__get_user_32t_8)
+EXPORT_SYMBOL(__get_user_64t_1)
+EXPORT_SYMBOL(__get_user_64t_2)
+EXPORT_SYMBOL(__get_user_64t_4)
+#endif
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -122,4 +125,5 @@ ENTRY(__raw_readsb)
ldmfd sp!, {r4 - r6, pc}
ENDPROC(__raw_readsb)
+#endif
EXPORT_SYMBOL(__raw_readsb)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -78,4 +81,5 @@ ENTRY(__raw_readsl)
strb r3, [r1, #0]
ret lr
ENDPROC(__raw_readsl)
+#endif
EXPORT_SYMBOL(__raw_readsl)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -103,5 +106,6 @@ ENTRY(__raw_readsw)
strneb r3, [r1]
ldmfd sp!, {r4, r5, r6, pc}
+#endif
EXPORT_SYMBOL(__raw_readsw)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -130,4 +133,6 @@ ENTRY(__raw_readsw)
strneb ip, [r1]
ldmfd sp!, {r4, pc}
ENDPROC(__raw_readsw)
+#endif
+
EXPORT_SYMBOL(__raw_readsw)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -93,4 +96,6 @@ ENTRY(__raw_writesb)
ldmfd sp!, {r4, r5, pc}
ENDPROC(__raw_writesb)
+#endif
+
EXPORT_SYMBOL(__raw_writesb)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -66,4 +69,6 @@ ENTRY(__raw_writesl)
bne 6b
ret lr
ENDPROC(__raw_writesl)
+#endif
+
EXPORT_SYMBOL(__raw_writesl)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -125,4 +128,6 @@ ENTRY(__raw_writesw)
strne ip, [r0]
ldmfd sp!, {r4, r5, r6, pc}
+#endif
+
EXPORT_SYMBOL(__raw_writesw)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -99,4 +102,5 @@ ENTRY(__raw_writesw)
strneh ip, [r0]
ret lr
ENDPROC(__raw_writesw)
+#endif
EXPORT_SYMBOL(__raw_writesw)
@@ -31,8 +31,16 @@ You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-
+#ifdef __GENKSYMS__
+extern void __udivsi3(void);
+extern void __aeabi_uidiv(void);
+extern void __umodsi3(void);
+extern void __divsi3(void);
+extern void __aeabi_idiv(void);
+extern void __modsi3(void);
+extern void __aeabi_uidivmod(void);
+extern void __aeabi_idivmod(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -239,8 +247,6 @@ UNWIND(.fnstart)
UNWIND(.fnend)
ENDPROC(__udivsi3)
ENDPROC(__aeabi_uidiv)
-EXPORT_SYMBOL(__udivsi3)
-EXPORT_SYMBOL(__aeabi_uidiv)
ENTRY(__umodsi3)
UNWIND(.fnstart)
@@ -259,7 +265,6 @@ UNWIND(.fnstart)
UNWIND(.fnend)
ENDPROC(__umodsi3)
-EXPORT_SYMBOL(__umodsi3)
#ifdef CONFIG_ARM_PATCH_IDIV
.align 3
@@ -307,8 +312,6 @@ UNWIND(.fnstart)
UNWIND(.fnend)
ENDPROC(__divsi3)
ENDPROC(__aeabi_idiv)
-EXPORT_SYMBOL(__divsi3)
-EXPORT_SYMBOL(__aeabi_idiv)
ENTRY(__modsi3)
UNWIND(.fnstart)
@@ -333,7 +336,6 @@ UNWIND(.fnstart)
UNWIND(.fnend)
ENDPROC(__modsi3)
-EXPORT_SYMBOL(__modsi3)
#ifdef CONFIG_AEABI
@@ -350,7 +352,6 @@ UNWIND(.save {r0, r1, ip, lr} )
UNWIND(.fnend)
ENDPROC(__aeabi_uidivmod)
-EXPORT_SYMBOL(__aeabi_uidivmod)
ENTRY(__aeabi_idivmod)
UNWIND(.fnstart)
@@ -364,8 +365,6 @@ UNWIND(.save {r0, r1, ip, lr} )
UNWIND(.fnend)
ENDPROC(__aeabi_idivmod)
-EXPORT_SYMBOL(__aeabi_idivmod)
-
#endif
Ldiv0:
@@ -378,3 +377,15 @@ UNWIND(.save {lr})
ldr pc, [sp], #8
UNWIND(.fnend)
ENDPROC(Ldiv0)
+#endif
+
+#ifdef CONFIG_AEABI
+EXPORT_SYMBOL(__udivsi3)
+EXPORT_SYMBOL(__aeabi_uidiv)
+EXPORT_SYMBOL(__umodsi3)
+EXPORT_SYMBOL(__divsi3)
+EXPORT_SYMBOL(__aeabi_idiv)
+EXPORT_SYMBOL(__modsi3)
+EXPORT_SYMBOL(__aeabi_uidivmod)
+EXPORT_SYMBOL(__aeabi_idivmod)
+#endif
@@ -25,7 +25,10 @@ along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-
+#ifdef __GENKSYMS__
+extern void __lshrdi3(void);
+extern void __aeabi_llsr(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -53,5 +56,7 @@ ENTRY(__aeabi_llsr)
ENDPROC(__lshrdi3)
ENDPROC(__aeabi_llsr)
+#endif
+
EXPORT_SYMBOL(__lshrdi3)
EXPORT_SYMBOL(__aeabi_llsr)
@@ -9,6 +9,9 @@
*
* ASM optimised string functions
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -25,4 +28,5 @@ ENTRY(memchr)
2: movne r0, #0
ret lr
ENDPROC(memchr)
+#endif
EXPORT_SYMBOL(memchr)
@@ -9,6 +9,10 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#include <asm/io.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
@@ -69,5 +73,6 @@ ENTRY(memcpy)
ENDPROC(memcpy)
ENDPROC(mmiocpy)
+#endif
EXPORT_SYMBOL(memcpy)
EXPORT_SYMBOL(mmiocpy)
@@ -9,7 +9,10 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <asm/io.h>
+#include <linux/string.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -226,4 +229,6 @@ ENTRY(memmove)
18: backward_copy_shift push=24 pull=8
ENDPROC(memmove)
+#endif
+
EXPORT_SYMBOL(memmove)
@@ -9,6 +9,11 @@
*
* ASM optimised string functions
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#include <linux/io.h>
+#else
+
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -136,5 +141,7 @@ UNWIND( .fnstart )
UNWIND( .fnend )
ENDPROC(memset)
ENDPROC(mmioset)
+#endif
+
EXPORT_SYMBOL(memset)
EXPORT_SYMBOL(mmioset)
@@ -7,6 +7,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/unwind.h>
@@ -136,4 +139,7 @@ UNWIND( .fnstart )
ret lr @ 1
UNWIND( .fnend )
ENDPROC(__memzero)
+#endif
+
EXPORT_SYMBOL(__memzero)
+
@@ -9,7 +9,10 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+extern void __muldi3(void);
+extern void __aeabi_lmul(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -47,5 +50,7 @@ ENTRY(__aeabi_lmul)
ENDPROC(__muldi3)
ENDPROC(__aeabi_lmul)
+#endif
+
EXPORT_SYMBOL(__muldi3)
EXPORT_SYMBOL(__aeabi_lmul)
@@ -27,6 +27,9 @@
* Note that ADDR_LIMIT is either 0 or 0xc0000000
* Note also that it is intended that __put_user_bad is not global.
*/
+#ifdef __GENKSYMS__
+#include <linux/uaccess.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/errno.h>
@@ -39,7 +42,6 @@ ENTRY(__put_user_1)
mov r0, #0
ret lr
ENDPROC(__put_user_1)
-EXPORT_SYMBOL(__put_user_1)
ENTRY(__put_user_2)
check_uaccess r0, 2, r1, ip, __put_user_bad
@@ -64,7 +66,6 @@ ENTRY(__put_user_2)
mov r0, #0
ret lr
ENDPROC(__put_user_2)
-EXPORT_SYMBOL(__put_user_2)
ENTRY(__put_user_4)
check_uaccess r0, 4, r1, ip, __put_user_bad
@@ -72,7 +73,6 @@ ENTRY(__put_user_4)
mov r0, #0
ret lr
ENDPROC(__put_user_4)
-EXPORT_SYMBOL(__put_user_4)
ENTRY(__put_user_8)
check_uaccess r0, 8, r1, ip, __put_user_bad
@@ -86,7 +86,6 @@ ENTRY(__put_user_8)
mov r0, #0
ret lr
ENDPROC(__put_user_8)
-EXPORT_SYMBOL(__put_user_8)
__put_user_bad:
mov r0, #-EFAULT
@@ -101,3 +100,9 @@ ENDPROC(__put_user_bad)
.long 5b, __put_user_bad
.long 6b, __put_user_bad
.popsection
+#endif
+
+EXPORT_SYMBOL(__put_user_1)
+EXPORT_SYMBOL(__put_user_2)
+EXPORT_SYMBOL(__put_user_4)
+EXPORT_SYMBOL(__put_user_8)
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-bitop _set_bit, orr
+BITOP(_set_bit, orr)
+EXPORT_SYMBOL(_set_bit)
@@ -9,6 +9,9 @@
*
* ASM optimised string functions
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -26,4 +29,5 @@ ENTRY(strchr)
subeq r0, r0, #1
ret lr
ENDPROC(strchr)
+#endif
EXPORT_SYMBOL(strchr)
@@ -9,6 +9,9 @@
*
* ASM optimised string functions
*/
+#ifdef __GENKSYMS__
+#include <linux/string.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -25,4 +28,5 @@ ENTRY(strrchr)
mov r0, r3
ret lr
ENDPROC(strrchr)
+#endif
EXPORT_SYMBOL(strrchr)
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-testop _test_and_change_bit, eor, str
+TESTOP(_test_and_change_bit, eor, str)
+EXPORT_SYMBOL(_test_and_change_bit)
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-testop _test_and_clear_bit, bicne, strne
+TESTOP(_test_and_clear_bit, bicne, strne)
+EXPORT_SYMBOL(_test_and_clear_bit)
@@ -7,9 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-#include <linux/linkage.h>
-#include <asm/assembler.h>
#include "bitops.h"
- .text
-testop _test_and_set_bit, orreq, streq
+TESTOP(_test_and_set_bit, orreq, streq)
+EXPORT_SYMBOL(_test_and_set_bit)
@@ -9,7 +9,10 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+extern void __ucmpdi2(void);
+extern void __aeabi_ulcmp(void);
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -36,7 +39,6 @@ ENTRY(__ucmpdi2)
ret lr
ENDPROC(__ucmpdi2)
-EXPORT_SYMBOL(__ucmpdi2)
#ifdef CONFIG_AEABI
@@ -50,7 +52,11 @@ ENTRY(__aeabi_ulcmp)
ret lr
ENDPROC(__aeabi_ulcmp)
-EXPORT_SYMBOL(__aeabi_ulcmp)
#endif
+#endif
+EXPORT_SYMBOL(__ucmpdi2)
+#ifdef CONFIG_AEABI
+EXPORT_SYMBOL(__aeabi_ulcmp)
+#endif
@@ -5,7 +5,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
+#ifdef __GENKSYMS__
+#include <linux/platform_data/asoc-imx-ssi.h>
+#else
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/export.h>
@@ -145,6 +147,8 @@ imx_ssi_fiq_tx_buffer:
.word 0x0
.L_imx_ssi_fiq_end:
imx_ssi_fiq_end:
+#endif
+
EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer)
EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer)
EXPORT_SYMBOL(imx_ssi_fiq_start)
@@ -160,7 +160,7 @@ $(obj)/%.i: $(src)/%.c FORCE
$(call if_changed_dep,cpp_i_c)
cmd_gensymtypes = \
- $(CPP) -D__GENKSYMS__ $(c_flags) $< | \
+ $(CPP) -D'EXPORT_SYMBOL(x)=EXPORT_SYMBOL(x);' -D__GENKSYMS__ $(c_flags) $< | \
$(GENKSYMS) $(if $(1), -T $(2)) \
$(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX)) \
$(if $(KBUILD_PRESERVE),-p) \
@@ -180,9 +180,11 @@ $(obj)/%.symtypes : $(src)/%.c FORCE
# (See cmd_cc_o_c + relevant part of rule_cc_o_c)
quiet_cmd_cc_o_c = CC $(quiet_modtag) $@
+quiet_cmd_as_o_S = AS $(quiet_modtag) $@
ifndef CONFIG_MODVERSIONS
cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
+cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
else
# When module versioning is enabled the following steps are executed:
@@ -198,6 +200,7 @@ else
# the actual value of the checksum generated by genksyms
cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
+cmd_as_o_S = $(CC) $(a_flags) -c -o $(@D)/.tmp_$(@F) $<
cmd_modversions = \
if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then \
$(call cmd_gensymtypes,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
@@ -275,6 +278,7 @@ endef
define rule_as_o_S
$(call cmd_and_fixdep,as_o_S) \
+ $(cmd_modversions) \
$(cmd_objtool)
endef
@@ -311,6 +315,9 @@ $(obj)/%.lst: $(src)/%.c FORCE
modkern_aflags := $(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL)
+$(obj)/%.o: $(src)/%.S $(objtool_obj) FORCE
+ $(call if_changed_rule,as_o_S)
+
$(real-objs-m) : modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
$(real-objs-m:.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
@@ -320,12 +327,6 @@ cmd_cpp_s_S = $(CPP) $(a_flags) -o $@ $<
$(obj)/%.s: $(src)/%.S FORCE
$(call if_changed_dep,cpp_s_S)
-quiet_cmd_as_o_S = AS $(quiet_modtag) $@
-cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
-
-$(obj)/%.o: $(src)/%.S $(objtool_obj) FORCE
- $(call if_changed_rule,as_o_S)
-
targets += $(real-objs-y) $(real-objs-m) $(lib-y)
targets += $(extra-y) $(MAKECMDGOALS) $(always)