| .. | .. |
|---|
| 19 | 19 | #include <linux/interrupt.h> |
|---|
| 20 | 20 | #include <linux/irq.h> |
|---|
| 21 | 21 | #include <linux/irqreturn.h> |
|---|
| 22 | +#include <linux/dovetail.h> |
|---|
| 22 | 23 | #include <linux/sched_clock.h> |
|---|
| 23 | 24 | #include <linux/of.h> |
|---|
| 24 | 25 | #include <linux/of_address.h> |
|---|
| .. | .. |
|---|
| 135 | 136 | struct timer_of *to = to_timer_of(evt); |
|---|
| 136 | 137 | |
|---|
| 137 | 138 | sun4i_timer_clear_interrupt(timer_of_base(to)); |
|---|
| 138 | | - evt->event_handler(evt); |
|---|
| 139 | + clockevents_handle_event(evt); |
|---|
| 139 | 140 | |
|---|
| 140 | 141 | return IRQ_HANDLED; |
|---|
| 141 | 142 | } |
|---|
| .. | .. |
|---|
| 146 | 147 | .clkevt = { |
|---|
| 147 | 148 | .name = "sun4i_tick", |
|---|
| 148 | 149 | .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, |
|---|
| 150 | 151 | .set_state_shutdown = sun4i_clkevt_shutdown, |
|---|
| 151 | 152 | .set_state_periodic = sun4i_clkevt_set_periodic, |
|---|
| 152 | 153 | .set_state_oneshot = sun4i_clkevt_set_oneshot, |
|---|