hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/drivers/clocksource/timer-sun4i.c
....@@ -19,6 +19,7 @@
1919 #include <linux/interrupt.h>
2020 #include <linux/irq.h>
2121 #include <linux/irqreturn.h>
22
+#include <linux/dovetail.h>
2223 #include <linux/sched_clock.h>
2324 #include <linux/of.h>
2425 #include <linux/of_address.h>
....@@ -135,7 +136,7 @@
135136 struct timer_of *to = to_timer_of(evt);
136137
137138 sun4i_timer_clear_interrupt(timer_of_base(to));
138
- evt->event_handler(evt);
139
+ clockevents_handle_event(evt);
139140
140141 return IRQ_HANDLED;
141142 }
....@@ -146,7 +147,7 @@
146147 .clkevt = {
147148 .name = "sun4i_tick",
148149 .rating = 350,
149
- .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
150
+ .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_PIPELINE,
150151 .set_state_shutdown = sun4i_clkevt_shutdown,
151152 .set_state_periodic = sun4i_clkevt_set_periodic,
152153 .set_state_oneshot = sun4i_clkevt_set_oneshot,