| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 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 | */ | 
| Haavard Skinnemoen | acc9252 | 2006-12-04 14:17:39 +0100 | [diff] [blame] | 10 | #include <linux/delay.h> | 
| Haavard Skinnemoen | d68041c | 2006-10-24 10:12:44 +0200 | [diff] [blame] | 11 | #include <linux/io.h> | 
| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 12 | #include <linux/module.h> | 
|  | 13 |  | 
|  | 14 | #include <asm/checksum.h> | 
|  | 15 | #include <asm/uaccess.h> | 
| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 16 |  | 
|  | 17 | /* | 
|  | 18 | * GCC functions | 
|  | 19 | */ | 
|  | 20 | extern unsigned long long __avr32_lsl64(unsigned long long u, unsigned long b); | 
|  | 21 | extern unsigned long long __avr32_lsr64(unsigned long long u, unsigned long b); | 
|  | 22 | extern unsigned long long __avr32_asr64(unsigned long long u, unsigned long b); | 
|  | 23 | EXPORT_SYMBOL(__avr32_lsl64); | 
|  | 24 | EXPORT_SYMBOL(__avr32_lsr64); | 
|  | 25 | EXPORT_SYMBOL(__avr32_asr64); | 
|  | 26 |  | 
|  | 27 | /* | 
|  | 28 | * String functions | 
|  | 29 | */ | 
|  | 30 | EXPORT_SYMBOL(memset); | 
|  | 31 | EXPORT_SYMBOL(memcpy); | 
| Adrian Bunk | a0ed3d8 | 2008-05-05 21:29:57 +0300 | [diff] [blame] | 32 |  | 
| Haavard Skinnemoen | 0cd7898 | 2007-01-26 13:12:25 +0100 | [diff] [blame] | 33 | EXPORT_SYMBOL(clear_page); | 
| Adrian Bunk | a0ed3d8 | 2008-05-05 21:29:57 +0300 | [diff] [blame] | 34 | EXPORT_SYMBOL(copy_page); | 
| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 35 |  | 
|  | 36 | /* | 
|  | 37 | * Userspace access stuff. | 
|  | 38 | */ | 
|  | 39 | EXPORT_SYMBOL(copy_from_user); | 
|  | 40 | EXPORT_SYMBOL(copy_to_user); | 
|  | 41 | EXPORT_SYMBOL(__copy_user); | 
|  | 42 | EXPORT_SYMBOL(strncpy_from_user); | 
|  | 43 | EXPORT_SYMBOL(__strncpy_from_user); | 
|  | 44 | EXPORT_SYMBOL(clear_user); | 
|  | 45 | EXPORT_SYMBOL(__clear_user); | 
| Adrian Bunk | 0157599 | 2008-05-22 01:01:38 +0300 | [diff] [blame] | 46 | EXPORT_SYMBOL(strnlen_user); | 
|  | 47 |  | 
| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 48 | EXPORT_SYMBOL(csum_partial); | 
|  | 49 | EXPORT_SYMBOL(csum_partial_copy_generic); | 
|  | 50 |  | 
|  | 51 | /* Delay loops (lib/delay.S) */ | 
|  | 52 | EXPORT_SYMBOL(__ndelay); | 
|  | 53 | EXPORT_SYMBOL(__udelay); | 
|  | 54 | EXPORT_SYMBOL(__const_udelay); | 
|  | 55 |  | 
|  | 56 | /* Bit operations (lib/findbit.S) */ | 
|  | 57 | EXPORT_SYMBOL(find_first_zero_bit); | 
|  | 58 | EXPORT_SYMBOL(find_next_zero_bit); | 
|  | 59 | EXPORT_SYMBOL(find_first_bit); | 
|  | 60 | EXPORT_SYMBOL(find_next_bit); | 
| Hans-Christian Egtvedt | e37925e | 2008-09-10 15:52:04 +0200 | [diff] [blame] | 61 | EXPORT_SYMBOL(generic_find_next_le_bit); | 
| Haavard Skinnemoen | 5f97f7f | 2006-09-25 23:32:13 -0700 | [diff] [blame] | 62 | EXPORT_SYMBOL(generic_find_next_zero_le_bit); | 
| Haavard Skinnemoen | d68041c | 2006-10-24 10:12:44 +0200 | [diff] [blame] | 63 |  | 
|  | 64 | /* I/O primitives (lib/io-*.S) */ | 
|  | 65 | EXPORT_SYMBOL(__raw_readsb); | 
|  | 66 | EXPORT_SYMBOL(__raw_readsw); | 
|  | 67 | EXPORT_SYMBOL(__raw_readsl); | 
|  | 68 | EXPORT_SYMBOL(__raw_writesb); | 
|  | 69 | EXPORT_SYMBOL(__raw_writesw); | 
|  | 70 | EXPORT_SYMBOL(__raw_writesl); |