blob: d93ead02daeda4635e772268b328dc652f1d86df [file] [log] [blame]
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -07001/*
2 * Export AVR32-specific functions for loadable modules.
3 *
4 * Copyright (C) 2004-2006 Atmel Corporation
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 */
Haavard Skinnemoenacc92522006-12-04 14:17:39 +010010#include <linux/delay.h>
Haavard Skinnemoend68041c2006-10-24 10:12:44 +020011#include <linux/io.h>
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070012#include <linux/module.h>
13
14#include <asm/checksum.h>
15#include <asm/uaccess.h>
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070016
17/*
18 * GCC functions
19 */
20extern unsigned long long __avr32_lsl64(unsigned long long u, unsigned long b);
21extern unsigned long long __avr32_lsr64(unsigned long long u, unsigned long b);
22extern unsigned long long __avr32_asr64(unsigned long long u, unsigned long b);
23EXPORT_SYMBOL(__avr32_lsl64);
24EXPORT_SYMBOL(__avr32_lsr64);
25EXPORT_SYMBOL(__avr32_asr64);
26
27/*
28 * String functions
29 */
30EXPORT_SYMBOL(memset);
31EXPORT_SYMBOL(memcpy);
Adrian Bunka0ed3d82008-05-05 21:29:57 +030032
Haavard Skinnemoen0cd78982007-01-26 13:12:25 +010033EXPORT_SYMBOL(clear_page);
Adrian Bunka0ed3d82008-05-05 21:29:57 +030034EXPORT_SYMBOL(copy_page);
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070035
36/*
37 * Userspace access stuff.
38 */
39EXPORT_SYMBOL(copy_from_user);
40EXPORT_SYMBOL(copy_to_user);
41EXPORT_SYMBOL(__copy_user);
42EXPORT_SYMBOL(strncpy_from_user);
43EXPORT_SYMBOL(__strncpy_from_user);
44EXPORT_SYMBOL(clear_user);
45EXPORT_SYMBOL(__clear_user);
Adrian Bunk01575992008-05-22 01:01:38 +030046EXPORT_SYMBOL(strnlen_user);
47
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070048EXPORT_SYMBOL(csum_partial);
49EXPORT_SYMBOL(csum_partial_copy_generic);
50
51/* Delay loops (lib/delay.S) */
52EXPORT_SYMBOL(__ndelay);
53EXPORT_SYMBOL(__udelay);
54EXPORT_SYMBOL(__const_udelay);
55
56/* Bit operations (lib/findbit.S) */
57EXPORT_SYMBOL(find_first_zero_bit);
58EXPORT_SYMBOL(find_next_zero_bit);
59EXPORT_SYMBOL(find_first_bit);
60EXPORT_SYMBOL(find_next_bit);
Akinobu Mitac4945b92011-03-23 16:41:47 -070061EXPORT_SYMBOL(find_next_bit_le);
62EXPORT_SYMBOL(find_next_zero_bit_le);
Haavard Skinnemoend68041c2006-10-24 10:12:44 +020063
64/* I/O primitives (lib/io-*.S) */
65EXPORT_SYMBOL(__raw_readsb);
66EXPORT_SYMBOL(__raw_readsw);
67EXPORT_SYMBOL(__raw_readsl);
68EXPORT_SYMBOL(__raw_writesb);
69EXPORT_SYMBOL(__raw_writesw);
70EXPORT_SYMBOL(__raw_writesl);