linux/arch/arm/mach-mmp
Marc Zyngier 2f0778afac ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime
sched_clock() is yet another blocker on the road to the single
image. This patch implements an idea by Russell King:

http://www.spinics.net/lists/linux-omap/msg49561.html

Instead of asking the platform to implement both sched_clock()
itself and the rollover callback, simply register a read()
function, and let the ARM code care about sched_clock() itself,
the conversion to ns and the rollover. sched_clock() uses
this read() function as an indirection to the platform code.
If the platform doesn't provide a read(), the code falls back
to the jiffy counter (just like the default sched_clock).

This allow some simplifications and possibly some footprint gain
when multiple platforms are compiled in. Among the drawbacks,
the removal of the *_fixed_sched_clock optimization which could
negatively impact some platforms (sa1100, tegra, versatile
and omap).

Tested on 11MPCore, OMAP4 and Tegra.

Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Colin Cross <ccross@android.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: STEricsson <STEricsson_nomadik_linux@list.st.com>
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Tested-by: Jamie Iles <jamie@jamieiles.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-12-18 23:00:26 +00:00
..
include/mach Merge branch 'vmalloc' of git://git.linaro.org/people/nico/linux into devel-stable 2011-12-05 23:27:59 +00:00
aspenite.c Merge git://git.infradead.org/mtd-2.6 2011-11-07 09:11:16 -08:00
avengers_lite.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
brownstone.c Merge branch 'next/devel2' of git://git.linaro.org/people/arnd/arm-soc 2011-11-05 18:21:21 -07:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
common.c ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
common.h [ARM] mmp: move declarations into SoC specific header file from common.h 2010-08-05 14:34:46 +08:00
devices.c [ARM] pxa: add base support for Marvell's PXA168 processor line 2009-03-23 10:11:34 +08:00
flint.c ARM: mmp: correct the naming of GPIOxx_GPIO definitions 2010-12-20 23:07:47 +08:00
gplugd.c ARM: pxa168/gplugd: add the correct SSP device 2011-11-17 08:21:58 +08:00
irq-mmp2.c arm: Cleanup the irq namespace 2011-03-29 14:47:57 +02:00
irq-pxa168.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
jasper.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
Kconfig ARM: mmp: rename SHEEVAD to GPLUGD 2011-10-25 20:28:49 +08:00
Makefile Merge branch 'next/devel2' of git://git.linaro.org/people/arnd/arm-soc 2011-11-05 18:21:21 -07:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mmp2.c Merge branch 'next/devel2' of git://git.linaro.org/people/arnd/arm-soc 2011-11-05 18:21:21 -07:00
pxa168.c Merge branch 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2011-10-27 08:39:10 +02:00
pxa910.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
sram.c ARM: mmp: add sram allocator 2011-10-25 20:29:20 +08:00
tavorevb.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
teton_bga.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
time.c ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime 2011-12-18 23:00:26 +00:00
ttc_dkb.c ARM: 7006/1: Migrate to asm-generic wrapper support 2011-10-17 09:12:40 +01:00