Re: dw_apb_timer_of.c: remove parts that were picoxcell-specific

John Stultz
2013-05-08T00:30:57Z

On 05/07/2013 01:11 PM, Pavel Machek wrote:
> It seems we made a mistake when creating dw_apb_timer_of.c:
> picoxcell sched_clock had parts that were not related to
> dw_apb_timer, yet we moved them to dw_apb_timer_of, and tried to
> use them on socfpga.
>
> This results in system where user/system time is not measured
> properly, as demonstrated by
>
> time dd if=/dev/urandom of=/dev/zero bs=100000 count=100
>
> So this patch switches sched_clock to hardware that exists on both
> platforms, and adds missing of_node_put() in dw_apb_timer_init().
>
> Signed-off-by: Pavel Machek <pavel@denx.de>
> Acked-by: Jamie Iles <jamie@jamieiles.com>

Ok. I'm still not a happy about the general issue of
sched_clock/clockevent code being in drivers/clocksources (I know,
everyone is sick of my griping about it :), so reviewing this sucks, but
at least this patch technically isn't making that issue worse.

Additionally, this is an *ugly* driver in my opinion. Its split between
arch specific logic in arch/x86/kernel/apb_timer.c,
arch/arm/mach-picoxcell/common.c, and arch/arm/mach-socfpga/socfpga.c,
and then arch independent logic in drivers/clocksource/dw_apb_timer.c
and drivers/clocksource/dw_apb_timer_of.c, but then it seems like much
of drivers/clocksource/dw_apb_timer_of.c is actually ARM specific.

Are there any plans to clean this up in the future?

Also, next time please run checkpatch.pl to catch trivial issues like
trailing whitespace. :P

But I've gone ahead and queued this for 3.11.

thanks
-john