#define BH_TRACE …
#include <linux/module.h>
#include <linux/gfp.h>
#include <linux/raid/xor.h>
#include <linux/jiffies.h>
#include <linux/preempt.h>
#include <asm/xor.h>
#ifndef XOR_SELECT_TEMPLATE
#define XOR_SELECT_TEMPLATE …
#endif
static struct xor_block_template *active_template;
void
xor_blocks(unsigned int src_count, unsigned int bytes, void *dest, void **srcs)
{ … }
EXPORT_SYMBOL(…);
static struct xor_block_template *__initdata template_list;
#ifndef MODULE
static void __init do_xor_register(struct xor_block_template *tmpl)
{ … }
static int __init register_xor_blocks(void)
{ … }
#endif
#define BENCH_SIZE …
#define REPS …
static void __init
do_xor_speed(struct xor_block_template *tmpl, void *b1, void *b2)
{ … }
static int __init
calibrate_xor_blocks(void)
{ … }
static __exit void xor_exit(void) { … }
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#ifndef MODULE
core_initcall(register_xor_blocks);
#endif
module_init(…) …;
module_exit(xor_exit);