#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/io.h>
#include <linux/mmiotrace.h>
#include <linux/security.h>
static unsigned long mmio_address;
module_param_hw(mmio_address, ulong, iomem, 0);
MODULE_PARM_DESC(…) …;
static unsigned long read_far = …;
module_param(read_far, ulong, 0);
MODULE_PARM_DESC(…) …;
static unsigned v16(unsigned i)
{ … }
static unsigned v32(unsigned i)
{ … }
static void do_write_test(void __iomem *p)
{ … }
static void do_read_test(void __iomem *p)
{ … }
static void do_read_far_test(void __iomem *p)
{ … }
static void do_test(unsigned long size)
{ … }
static void do_test_bulk_ioremapping(void)
{ … }
static int __init init(void)
{ … }
static void __exit cleanup(void)
{ … }
module_init(init);
module_exit(cleanup);
MODULE_LICENSE(…) …;