2 * linux/drivers/clocksource/dummy_timer.c
4 * Copyright (C) 2013 ARM Ltd.
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
11 #include <linux/clockchips.h>
12 #include <linux/cpu.h>
13 #include <linux/init.h>
14 #include <linux/percpu.h>
15 #include <linux/cpumask.h>
17 static DEFINE_PER_CPU(struct clock_event_device
, dummy_timer_evt
);
19 static int dummy_timer_starting_cpu(unsigned int cpu
)
21 struct clock_event_device
*evt
= per_cpu_ptr(&dummy_timer_evt
, cpu
);
23 evt
->name
= "dummy_timer";
24 evt
->features
= CLOCK_EVT_FEAT_PERIODIC
|
25 CLOCK_EVT_FEAT_ONESHOT
|
28 evt
->cpumask
= cpumask_of(cpu
);
30 clockevents_register_device(evt
);
34 static int __init
dummy_timer_register(void)
36 return cpuhp_setup_state(CPUHP_AP_DUMMY_TIMER_STARTING
,
37 "clockevents/dummy_timer:starting",
38 dummy_timer_starting_cpu
, NULL
);
40 early_initcall(dummy_timer_register
);