#define pr_fmt(fmt) …
#include <linux/clockchips.h>
#include <linux/clocksource.h>
#include <linux/interrupt.h>
#include <linux/irqreturn.h>
#include <linux/sched_clock.h>
#include <linux/slab.h>
#include "timer-of.h"
#define TIMER_SYNC_TICKS …
#define CPUX_CON_REG …
#define CPUX_IDX_REG …
#define CPUX_IDX_GLOBAL_CTRL …
#define CPUX_ENABLE …
#define CPUX_CLK_DIV_MASK …
#define CPUX_CLK_DIV1 …
#define CPUX_CLK_DIV2 …
#define CPUX_CLK_DIV4 …
#define CPUX_IDX_GLOBAL_IRQ …
static u32 mtk_cpux_readl(u32 reg_idx, struct timer_of *to)
{ … }
static void mtk_cpux_writel(u32 val, u32 reg_idx, struct timer_of *to)
{ … }
static void mtk_cpux_set_irq(struct timer_of *to, bool enable)
{ … }
static int mtk_cpux_clkevt_shutdown(struct clock_event_device *clkevt)
{ … }
static int mtk_cpux_clkevt_resume(struct clock_event_device *clkevt)
{ … }
static struct timer_of to = …;
static int __init mtk_cpux_init(struct device_node *node)
{ … }
TIMER_OF_DECLARE(mtk_mt6795, "mediatek,mt6795-systimer", mtk_cpux_init);