Hi Daniel, On 12 December 2017 at 17:16, Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote: > > Hi Baolin, > > > On 08/12/2017 09:20, Baolin Wang wrote: > > [ ... ] > >>>> +static irqreturn_t sprd_timer_interrupt(int irq, void *dev_id) >>>> +{ >>>> + struct clock_event_device *ce = (struct clock_event_device *)dev_id; >>>> + struct timer_of *to = to_timer_of(ce); >>>> + >>>> + sprd_timer_clear_interrupt(timer_of_base(to)); >>>> + >>>> + if (clockevent_state_oneshot(ce)) >>>> + sprd_timer_disable(timer_of_base(to)); >>>> + >>>> + ce->event_handler(ce); >>>> + return IRQ_HANDLED; >>>> +} >>>> + >>>> +static struct timer_of to = { >>>> + .flags = TIMER_OF_IRQ | TIMER_OF_BASE, >>> >>> Why not the TIMER_OF_CLOCK ? >> >> The timer's clock is fixed to 32.768K and no need to divide the >> frequency, so our clock tree does not supply the timer's clock now. > > The driver is fine. However, I would like to unify the clk usage in the > timer driver, so if you refer to a clock so the TIMER_OF_CLOCK can be > used, that will nice. I understand your concern, but I've asked our clock driver owner in Spreadtrum, we have no related registers to describe the topology of the RTC fixed 32.768K, so the clock driver can not add timer's clock node. -- Baolin.wang Best Regards -- 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