#include <linux/clk.h>
#include <linux/clockchips.h>
#include <linux/clocksource.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/sched_clock.h>
#include <linux/slab.h>
enum { … };
static void __iomem *tcd;
static u64 notrace clps711x_sched_clock_read(void)
{ … }
static void __init clps711x_clksrc_init(struct clk *clock, void __iomem *base)
{ … }
static irqreturn_t clps711x_timer_interrupt(int irq, void *dev_id)
{ … }
static int __init _clps711x_clkevt_init(struct clk *clock, void __iomem *base,
unsigned int irq)
{ … }
static int __init clps711x_timer_init(struct device_node *np)
{ … }
TIMER_OF_DECLARE(clps711x, "cirrus,ep7209-timer", clps711x_timer_init);