2f0778afac
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> |
||
---|---|---|
.. | ||
include/mach | ||
board-dt.c | ||
board-harmony-pcie.c | ||
board-harmony-pinmux.c | ||
board-harmony-power.c | ||
board-harmony.c | ||
board-harmony.h | ||
board-paz00-pinmux.c | ||
board-paz00.c | ||
board-paz00.h | ||
board-seaboard-pinmux.c | ||
board-seaboard.c | ||
board-seaboard.h | ||
board-trimslice-pinmux.c | ||
board-trimslice.c | ||
board-trimslice.h | ||
board.h | ||
clock.c | ||
clock.h | ||
common.c | ||
cpu-tegra.c | ||
devices.c | ||
devices.h | ||
dma.c | ||
fuse.c | ||
fuse.h | ||
gpio-names.h | ||
headsmp.S | ||
hotplug.c | ||
io.c | ||
irq.c | ||
Kconfig | ||
localtimer.c | ||
Makefile | ||
Makefile.boot | ||
pcie.c | ||
pinmux-t2-tables.c | ||
pinmux.c | ||
platsmp.c | ||
powergate.c | ||
tegra2_clocks.c | ||
tegra2_emc.c | ||
tegra2_emc.h | ||
timer.c | ||
usb_phy.c |