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);
32EXPORT_SYMBOL(clear_page);
33
34/*
35 * Userspace access stuff.
36 */
37EXPORT_SYMBOL(copy_from_user);
38EXPORT_SYMBOL(copy_to_user);
39EXPORT_SYMBOL(__copy_user);
40EXPORT_SYMBOL(strncpy_from_user);
41EXPORT_SYMBOL(__strncpy_from_user);
42EXPORT_SYMBOL(clear_user);
43EXPORT_SYMBOL(__clear_user);
44EXPORT_SYMBOL(csum_partial);
45EXPORT_SYMBOL(csum_partial_copy_generic);
46
47/* Delay loops (lib/delay.S) */
48EXPORT_SYMBOL(__ndelay);
49EXPORT_SYMBOL(__udelay);
50EXPORT_SYMBOL(__const_udelay);
51
52/* Bit operations (lib/findbit.S) */
53EXPORT_SYMBOL(find_first_zero_bit);
54EXPORT_SYMBOL(find_next_zero_bit);
55EXPORT_SYMBOL(find_first_bit);
56EXPORT_SYMBOL(find_next_bit);
57EXPORT_SYMBOL(generic_find_next_zero_le_bit);
58
59/* I/O primitives (lib/io-*.S) */
60EXPORT_SYMBOL(__raw_readsb);
61EXPORT_SYMBOL(__raw_readsw);
62EXPORT_SYMBOL(__raw_readsl);
63EXPORT_SYMBOL(__raw_writesb);
64EXPORT_SYMBOL(__raw_writesw);
65EXPORT_SYMBOL(__raw_writesl);
66