#include <linux/clk.h>
#include <linux/clocksource.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_address.h>
#include <linux/clockchips.h>
#include <linux/interrupt.h>
#include <linux/sched_clock.h>
#include "timer-sp.h"
static void __iomem * sched_clk_base;
static u64 notrace integrator_read_sched_clock(void)
{ … }
static int __init integrator_clocksource_init(unsigned long inrate,
void __iomem *base)
{ … }
static unsigned long timer_reload;
static void __iomem * clkevt_base;
static irqreturn_t integrator_timer_interrupt(int irq, void *dev_id)
{ … }
static int clkevt_shutdown(struct clock_event_device *evt)
{ … }
static int clkevt_set_oneshot(struct clock_event_device *evt)
{ … }
static int clkevt_set_periodic(struct clock_event_device *evt)
{ … }
static int clkevt_set_next_event(unsigned long next, struct clock_event_device *evt)
{ … }
static struct clock_event_device integrator_clockevent = …;
static int integrator_clockevent_init(unsigned long inrate,
void __iomem *base, int irq)
{ … }
static int __init integrator_ap_timer_init_of(struct device_node *node)
{ … }
TIMER_OF_DECLARE(integrator_ap_timer, "arm,integrator-timer",
integrator_ap_timer_init_of);