]> git.baikalelectronics.ru Git - kernel.git/commit
clocksource: Provide a generic mult/shift factor calculation
authorThomas Gleixner <tglx@linutronix.de>
Wed, 11 Nov 2009 14:05:29 +0000 (14:05 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 13 Nov 2009 19:46:23 +0000 (20:46 +0100)
commit69b22542527eb5b462acdc4c8a163ccaab428927
tree67766d878c650ab7ac13d155081b9c745447e24e
parentdc0ce7bce56c555633fa865824f9fc959b5d82f6
clocksource: Provide a generic mult/shift factor calculation

MIPS has two functions to calculcate the mult/shift factors for clock
sources and clock events at run time. ARM needs such functions as
well.

Implement a function which calculates the mult/shift factors based on
the frequencies to which and from which is converted. The function
also has a parameter to specify the minimum conversion range in
seconds. This range is guaranteed not to produce a 64bit overflow when
a value is multiplied with the calculated mult factor. The larger the
conversion range the less becomes the conversion accuracy.

Provide two inline wrappers which handle clock events and clock
sources. For clock events the "from" frequency is nano seconds per
second which corresponds to 1GHz and "to" is the device frequency. For
clock sources "from" is the device frequency and "to" is nano seconds
per second.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Mikael Pettersson <mikpe@it.uu.se>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Cc: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <20091111134229.766673305@linutronix.de>
include/linux/clockchips.h
include/linux/clocksource.h
kernel/time/clocksource.c