On Wed, 11 Jun 2014, Matthias Brugger wrote: > +static void mtk_clkevt_mode(enum clock_event_mode mode, > + struct clock_event_device *clk) > +{ > + struct mtk_clock_event_device *evt = to_mtk_clk(clk); > + > + mtk_clkevt_time_stop(evt, GPT_CLK_EVT); > + > + switch (mode) { > + case CLOCK_EVT_MODE_PERIODIC: > + mtk_clkevt_time_setup(evt, evt->ticks_per_jiffy, GPT_CLK_EVT); > + mtk_clkevt_time_start(evt, true, GPT_CLK_EVT); > + break; > + case CLOCK_EVT_MODE_ONESHOT: > + mtk_clkevt_time_start(evt, false, GPT_CLK_EVT); Why start the timer here? The code will call set next event right away. > + break; > + case CLOCK_EVT_MODE_UNUSED: > + case CLOCK_EVT_MODE_SHUTDOWN: > + default: > + /* No more interrupts will occur as source is disabled */ > + break; > + } > +} Looks good otherwise. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html