Re: [PATCH v3 2/2] clocksource: sprd: Add timer driver for Spreadtrum SC9860 platform

From: Baolin Wang
Date: Tue Dec 12 2017 - 04:27:00 EST


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