On Tue, Dec 12, 2017 at 10:26 AM, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > On 12 December 2017 at 17:16, Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote: >> 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. I think you can easily put a separate DT node in the tree with compatible="fixed-clock". This will be available during early boot, and interpreted by setting TIMER_OF_CLOCK. Arnd -- 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