Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
[linux-2.6] / include / asm-ia64 / xor.h
1 /*
2  * include/asm-ia64/xor.h
3  *
4  * Optimized RAID-5 checksumming functions for IA-64.
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 as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * You should have received a copy of the GNU General Public License
12  * (for example /usr/src/linux/COPYING); if not, write to the Free
13  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
14  */
15
16
17 extern void xor_ia64_2(unsigned long, unsigned long *, unsigned long *);
18 extern void xor_ia64_3(unsigned long, unsigned long *, unsigned long *,
19                        unsigned long *);
20 extern void xor_ia64_4(unsigned long, unsigned long *, unsigned long *,
21                        unsigned long *, unsigned long *);
22 extern void xor_ia64_5(unsigned long, unsigned long *, unsigned long *,
23                        unsigned long *, unsigned long *, unsigned long *);
24
25 static struct xor_block_template xor_block_ia64 = {
26         .name = "ia64",
27         .do_2 = xor_ia64_2,
28         .do_3 = xor_ia64_3,
29         .do_4 = xor_ia64_4,
30         .do_5 = xor_ia64_5,
31 };
32
33 #define XOR_TRY_TEMPLATES       xor_speed(&xor_block_ia64)