Messages in this thread | | | Date | Tue, 07 May 2013 17:30:52 -0700 | From | John Stultz <> | Subject | Re: dw_apb_timer_of.c: remove parts that were picoxcell-specific |
| |
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
| |