#ifndef MMIOTRACE_H
#define MMIOTRACE_H
-#include <asm/types.h>
-
-#ifdef __KERNEL__
-
+#include <linux/types.h>
#include <linux/list.h>
struct kmmio_probe;
unsigned long len; /* length of the probe region */
kmmio_pre_handler_t pre_handler; /* Called before addr is executed. */
kmmio_post_handler_t post_handler; /* Called after addr is executed */
- void *user_data;
+ void *private;
};
/* kmmio is active by some kmmio_probes? */
/* Called from ioremap.c */
#ifdef CONFIG_MMIOTRACE
-extern void
-mmiotrace_ioremap(unsigned long offset, unsigned long size, void __iomem *addr);
+extern void mmiotrace_ioremap(resource_size_t offset, unsigned long size,
+ void __iomem *addr);
extern void mmiotrace_iounmap(volatile void __iomem *addr);
#else
-static inline void
-mmiotrace_ioremap(unsigned long offset, unsigned long size, void __iomem *addr)
+static inline void mmiotrace_ioremap(resource_size_t offset,
+ unsigned long size, void __iomem *addr)
{
}
+
static inline void mmiotrace_iounmap(volatile void __iomem *addr)
{
}
};
struct mmiotrace_rw {
- unsigned long phys; /* PCI address of register */
+ resource_size_t phys; /* PCI address of register */
unsigned long value;
unsigned long pc; /* optional program counter */
int map_id;
};
struct mmiotrace_map {
- unsigned long phys; /* base address in PCI space */
+ resource_size_t phys; /* base address in PCI space */
unsigned long virt; /* base virtual address */
unsigned long len; /* mapping size */
int map_id;
extern void mmio_trace_rw(struct mmiotrace_rw *rw);
extern void mmio_trace_mapping(struct mmiotrace_map *map);
-#endif /* __KERNEL__ */
-
#endif /* MMIOTRACE_H */