#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/clocksource.h>
#include <linux/clockchips.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/goldfish.h>
#include <clocksource/timer-goldfish.h>
struct goldfish_timer { … };
static struct goldfish_timer *ced_to_gf(struct clock_event_device *ced)
{ … }
static struct goldfish_timer *cs_to_gf(struct clocksource *cs)
{ … }
static u64 goldfish_timer_read(struct clocksource *cs)
{ … }
static int goldfish_timer_set_oneshot(struct clock_event_device *evt)
{ … }
static int goldfish_timer_shutdown(struct clock_event_device *evt)
{ … }
static int goldfish_timer_next_event(unsigned long delta,
struct clock_event_device *evt)
{ … }
static irqreturn_t goldfish_timer_irq(int irq, void *dev_id)
{ … }
int __init goldfish_timer_init(int irq, void __iomem *base)
{ … }