Commit | Line | Data |
---|---|---|
1394f032 | 1 | /* |
0f8befa1 | 2 | * arch/blackfin/kernel/bfin_ksyms.c - exports for random symbols |
1394f032 | 3 | * |
0f8befa1 | 4 | * Copyright 2004-2008 Analog Devices Inc. |
1394f032 | 5 | * |
0f8befa1 | 6 | * Licensed under the GPL-2 or later. |
1394f032 BW |
7 | */ |
8 | ||
9 | #include <linux/module.h> | |
1f83b8f1 MF |
10 | #include <linux/uaccess.h> |
11 | ||
1394f032 | 12 | #include <asm/cacheflush.h> |
abea0bc3 | 13 | #include <asm/io.h> |
6327a574 | 14 | #include <asm/irq_handler.h> |
1394f032 | 15 | |
0f8befa1 | 16 | /* Allow people to have their own Blackfin exception handler in a module */ |
8d6c2420 | 17 | EXPORT_SYMBOL(bfin_return_from_exception); |
1394f032 | 18 | |
0f8befa1 MF |
19 | /* All the Blackfin cache functions: mach-common/cache.S */ |
20 | EXPORT_SYMBOL(blackfin_dcache_invalidate_range); | |
0f8befa1 MF |
21 | EXPORT_SYMBOL(blackfin_icache_flush_range); |
22 | EXPORT_SYMBOL(blackfin_dcache_flush_range); | |
23 | EXPORT_SYMBOL(blackfin_dflush_page); | |
24 | ||
1394f032 BW |
25 | /* The following are special because they're not called |
26 | * explicitly (the C compiler generates them). Fortunately, | |
27 | * their interface isn't gonna change any time soon now, so | |
28 | * it's OK to leave it out of version control. | |
29 | */ | |
30 | EXPORT_SYMBOL(memcpy); | |
31 | EXPORT_SYMBOL(memset); | |
32 | EXPORT_SYMBOL(memcmp); | |
33 | EXPORT_SYMBOL(memmove); | |
34 | EXPORT_SYMBOL(memchr); | |
1394f032 | 35 | |
479ba603 RG |
36 | /* |
37 | * Because string functions are both inline and exported functions and | |
38 | * folder arch/blackfin/lib is configured as a library path in Makefile, | |
39 | * symbols exported in folder lib is not linked into built-in.o but | |
40 | * inlined only. In order to export string symbols to kernel module | |
41 | * properly, they should be exported here. | |
42 | */ | |
43 | EXPORT_SYMBOL(strcpy); | |
44 | EXPORT_SYMBOL(strncpy); | |
45 | EXPORT_SYMBOL(strcmp); | |
46 | EXPORT_SYMBOL(strncmp); | |
47 | ||
1394f032 BW |
48 | /* |
49 | * libgcc functions - functions that are used internally by the | |
50 | * compiler... (prototypes are not correct though, but that | |
51 | * doesn't really matter since they're not versioned). | |
52 | */ | |
53 | extern void __ashldi3(void); | |
54 | extern void __ashrdi3(void); | |
55 | extern void __smulsi3_highpart(void); | |
56 | extern void __umulsi3_highpart(void); | |
57 | extern void __divsi3(void); | |
58 | extern void __lshrdi3(void); | |
59 | extern void __modsi3(void); | |
60 | extern void __muldi3(void); | |
61 | extern void __udivsi3(void); | |
62 | extern void __umodsi3(void); | |
1394f032 BW |
63 | EXPORT_SYMBOL(__ashldi3); |
64 | EXPORT_SYMBOL(__ashrdi3); | |
65 | EXPORT_SYMBOL(__umulsi3_highpart); | |
66 | EXPORT_SYMBOL(__smulsi3_highpart); | |
67 | EXPORT_SYMBOL(__divsi3); | |
68 | EXPORT_SYMBOL(__lshrdi3); | |
69 | EXPORT_SYMBOL(__modsi3); | |
70 | EXPORT_SYMBOL(__muldi3); | |
71 | EXPORT_SYMBOL(__udivsi3); | |
72 | EXPORT_SYMBOL(__umodsi3); | |
73 | ||
0f8befa1 | 74 | /* Input/output symbols: lib/{in,out}s.S */ |
1394f032 BW |
75 | EXPORT_SYMBOL(outsb); |
76 | EXPORT_SYMBOL(insb); | |
77 | EXPORT_SYMBOL(outsw); | |
59069676 | 78 | EXPORT_SYMBOL(outsw_8); |
1394f032 | 79 | EXPORT_SYMBOL(insw); |
59069676 | 80 | EXPORT_SYMBOL(insw_8); |
1394f032 BW |
81 | EXPORT_SYMBOL(outsl); |
82 | EXPORT_SYMBOL(insl); | |
5c91fb90 | 83 | EXPORT_SYMBOL(insl_16); |
8f65873e GY |
84 | |
85 | #ifdef CONFIG_SMP | |
86 | EXPORT_SYMBOL(__raw_atomic_update_asm); | |
87 | EXPORT_SYMBOL(__raw_atomic_clear_asm); | |
88 | EXPORT_SYMBOL(__raw_atomic_set_asm); | |
89 | EXPORT_SYMBOL(__raw_atomic_xor_asm); | |
90 | EXPORT_SYMBOL(__raw_atomic_test_asm); | |
91 | EXPORT_SYMBOL(__raw_xchg_1_asm); | |
92 | EXPORT_SYMBOL(__raw_xchg_2_asm); | |
93 | EXPORT_SYMBOL(__raw_xchg_4_asm); | |
94 | EXPORT_SYMBOL(__raw_cmpxchg_1_asm); | |
95 | EXPORT_SYMBOL(__raw_cmpxchg_2_asm); | |
96 | EXPORT_SYMBOL(__raw_cmpxchg_4_asm); | |
97 | EXPORT_SYMBOL(__raw_spin_is_locked_asm); | |
98 | EXPORT_SYMBOL(__raw_spin_lock_asm); | |
99 | EXPORT_SYMBOL(__raw_spin_trylock_asm); | |
100 | EXPORT_SYMBOL(__raw_spin_unlock_asm); | |
101 | EXPORT_SYMBOL(__raw_read_lock_asm); | |
102 | EXPORT_SYMBOL(__raw_read_trylock_asm); | |
103 | EXPORT_SYMBOL(__raw_read_unlock_asm); | |
104 | EXPORT_SYMBOL(__raw_write_lock_asm); | |
105 | EXPORT_SYMBOL(__raw_write_trylock_asm); | |
106 | EXPORT_SYMBOL(__raw_write_unlock_asm); | |
107 | EXPORT_SYMBOL(__raw_bit_set_asm); | |
108 | EXPORT_SYMBOL(__raw_bit_clear_asm); | |
109 | EXPORT_SYMBOL(__raw_bit_toggle_asm); | |
110 | EXPORT_SYMBOL(__raw_bit_test_asm); | |
111 | EXPORT_SYMBOL(__raw_bit_test_set_asm); | |
112 | EXPORT_SYMBOL(__raw_bit_test_clear_asm); | |
113 | EXPORT_SYMBOL(__raw_bit_test_toggle_asm); | |
114 | EXPORT_SYMBOL(__raw_uncached_fetch_asm); | |
dbc895f9 | 115 | #ifdef __ARCH_SYNC_CORE_DCACHE |
8f65873e GY |
116 | EXPORT_SYMBOL(__raw_smp_mark_barrier_asm); |
117 | EXPORT_SYMBOL(__raw_smp_check_barrier_asm); | |
118 | #endif | |
dbc895f9 | 119 | #endif |
1c873be7 MF |
120 | |
121 | #ifdef CONFIG_FUNCTION_TRACER | |
122 | extern void _mcount(void); | |
123 | EXPORT_SYMBOL(_mcount); | |
124 | #endif |