Lines Matching refs:timer
46 struct bcm2835_timer *timer = container_of(evt_dev,
49 timer->compare);
55 struct bcm2835_timer *timer = dev_id;
57 if (readl_relaxed(timer->control) & timer->match_mask) {
58 writel_relaxed(timer->match_mask, timer->control);
60 event_handler = READ_ONCE(timer->evt.event_handler);
62 event_handler(&timer->evt);
74 struct bcm2835_timer *timer;
101 timer = kzalloc(sizeof(*timer), GFP_KERNEL);
102 if (!timer) {
107 timer->control = base + REG_CONTROL;
108 timer->compare = base + REG_COMPARE(DEFAULT_TIMER);
109 timer->match_mask = BIT(DEFAULT_TIMER);
110 timer->evt.name = node->name;
111 timer->evt.rating = 300;
112 timer->evt.features = CLOCK_EVT_FEAT_ONESHOT;
113 timer->evt.set_next_event = bcm2835_time_set_next_event;
114 timer->evt.cpumask = cpumask_of(0);
117 node->name, timer);
119 pr_err("Can't set up timer IRQ\n");
123 clockevents_config_and_register(&timer->evt, freq, 0xf, 0xffffffff);
125 pr_info("bcm2835: system timer (irq = %d)\n", irq);
130 kfree(timer);
136 TIMER_OF_DECLARE(bcm2835, "brcm,bcm2835-system-timer",