Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update
[linux-2.6] / include / linux / raid / xor.h
1 #ifndef _XOR_H
2 #define _XOR_H
3
4 #include <linux/raid/md.h>
5
6 #define MAX_XOR_BLOCKS 4
7
8 extern void xor_blocks(unsigned int count, unsigned int bytes,
9         void *dest, void **srcs);
10
11 struct xor_block_template {
12         struct xor_block_template *next;
13         const char *name;
14         int speed;
15         void (*do_2)(unsigned long, unsigned long *, unsigned long *);
16         void (*do_3)(unsigned long, unsigned long *, unsigned long *,
17                      unsigned long *);
18         void (*do_4)(unsigned long, unsigned long *, unsigned long *,
19                      unsigned long *, unsigned long *);
20         void (*do_5)(unsigned long, unsigned long *, unsigned long *,
21                      unsigned long *, unsigned long *, unsigned long *);
22 };
23
24 #endif