Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/clocksource/dummy_timer.c
26278 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* linux/drivers/clocksource/dummy_timer.c
4
*
5
* Copyright (C) 2013 ARM Ltd.
6
* All Rights Reserved
7
*/
8
#include <linux/clockchips.h>
9
#include <linux/cpu.h>
10
#include <linux/init.h>
11
#include <linux/percpu.h>
12
#include <linux/cpumask.h>
13
14
static DEFINE_PER_CPU(struct clock_event_device, dummy_timer_evt);
15
16
static int dummy_timer_starting_cpu(unsigned int cpu)
17
{
18
struct clock_event_device *evt = per_cpu_ptr(&dummy_timer_evt, cpu);
19
20
evt->name = "dummy_timer";
21
evt->features = CLOCK_EVT_FEAT_PERIODIC |
22
CLOCK_EVT_FEAT_ONESHOT |
23
CLOCK_EVT_FEAT_DUMMY;
24
evt->rating = 100;
25
evt->cpumask = cpumask_of(cpu);
26
27
clockevents_register_device(evt);
28
return 0;
29
}
30
31
static int __init dummy_timer_register(void)
32
{
33
return cpuhp_setup_state(CPUHP_AP_DUMMY_TIMER_STARTING,
34
"clockevents/dummy_timer:starting",
35
dummy_timer_starting_cpu, NULL);
36
}
37
early_initcall(dummy_timer_register);
38
39