#include <linux/clocksource.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
struct clocksource_mmio { … };
static inline struct clocksource_mmio *to_mmio_clksrc(struct clocksource *c)
{ … }
u64 clocksource_mmio_readl_up(struct clocksource *c)
{ … }
u64 clocksource_mmio_readl_down(struct clocksource *c)
{ … }
u64 clocksource_mmio_readw_up(struct clocksource *c)
{ … }
u64 clocksource_mmio_readw_down(struct clocksource *c)
{ … }
int __init clocksource_mmio_init(void __iomem *base, const char *name,
unsigned long hz, int rating, unsigned bits,
u64 (*read)(struct clocksource *))
{ … }