1/*
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 */
10#include <linux/delay.h>
11#include <linux/io.h>
12#include <linux/module.h>
13
14#include <asm/checksum.h>
15#include <asm/uaccess.h>
16
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);
32
33EXPORT_SYMBOL(clear_page);
34EXPORT_SYMBOL(copy_page);
35
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);
46EXPORT_SYMBOL(strnlen_user);
47
48EXPORT_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);
61EXPORT_SYMBOL(find_next_bit_le);
62EXPORT_SYMBOL(find_next_zero_bit_le);
63
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);
71