linux/arch/arm/mach-tegra
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
board-dt.c ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER 2011-11-15 18:14:00 +00:00
board-harmony-pcie.c ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h 2011-09-26 12:31:45 +01:00
board-harmony-pinmux.c arm/tegra: Don't create duplicate gpio and pinmux devices 2011-11-09 10:38:56 -08:00
board-harmony-power.c arm/tegra: Harmony: Configure PMC for low-level interrupts 2011-10-13 15:04:55 -07:00
board-harmony.c ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER 2011-11-15 18:14:00 +00:00
board-harmony.h ARM: 7101/1: arm/tegra: Replace <mach/gpio.h> with <mach/gpio-tegra.h> 2011-09-27 00:20:53 +01:00
board-paz00-pinmux.c arm/tegra: Don't create duplicate gpio and pinmux devices 2011-11-09 10:38:56 -08:00
board-paz00.c ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER 2011-11-15 18:14:00 +00:00
board-paz00.h Merge branch 'depends/rmk/gpio' into next/board 2011-10-21 16:46:26 +02:00
board-seaboard-pinmux.c arm/tegra: enable headphone detection gpio on seaboard 2011-11-09 11:31:16 -08:00
board-seaboard.c ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER 2011-11-15 18:14:00 +00:00
board-seaboard.h Merge branch 'depends/rmk/gpio' into next/board 2011-10-21 16:46:26 +02:00
board-trimslice-pinmux.c arm/tegra: Don't create duplicate gpio and pinmux devices 2011-11-09 10:38:56 -08:00
board-trimslice.c ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER 2011-11-15 18:14:00 +00:00
board-trimslice.h ARM: 7101/1: arm/tegra: Replace <mach/gpio.h> with <mach/gpio-tegra.h> 2011-09-27 00:20:53 +01:00
board.h ARM: tegra: Move tegra_common_init to tegra_init_early 2011-02-22 11:25:12 -08:00
clock.c switch assorted clock drivers to debugfs_remove_recursive() 2011-07-20 20:47:51 -04:00
clock.h ARM: tegra: clock: Add function to set SDMMC tap delay 2011-02-21 00:16:47 -08:00
common.c ARM: tegra: tegra_init_cache should be static 2011-10-13 14:08:28 -07:00
cpu-tegra.c Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:11:00 -07:00
devices.c Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:31:25 -07:00
devices.h arm/tegra: Prep boards for gpio/pinmux conversion to pdevs 2011-10-11 17:19:56 -07:00
dma.c ARM: tegra: dma: staticify some tables and functions 2011-10-13 14:08:29 -07:00
fuse.c [ARM] tegra: Add support for reading fuses 2010-10-21 18:12:09 -07:00
fuse.h [ARM] tegra: Add support for reading fuses 2010-10-21 18:12:09 -07:00
gpio-names.h [ARM] tegra: add GPIO support 2010-08-05 14:57:02 -07:00
headsmp.S [ARM] tegra: SMP support 2010-08-05 14:57:01 -07:00
hotplug.c ARM: fix wrongly patched constants 2011-01-14 12:06:26 +00:00
io.c ARM: mach-tegra: remove arch specific special handling for ioremap 2011-11-16 18:06:18 -05:00
irq.c ARM: tegra: irq: Add tegra_eoi 2011-05-11 16:04:16 +01:00
Kconfig ARM: GIC: Make MULTI_IRQ_HANDLER mandatory 2011-11-15 18:14:02 +00:00
localtimer.c ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime 2011-02-23 17:54:27 +00:00
Makefile arm/tegra: add support for ventana pinmuxing 2011-10-13 15:04:54 -07:00
Makefile.boot Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:31:25 -07:00
pcie.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
pinmux-t2-tables.c arm/tegra: pinmux: ioremap registers 2011-10-13 15:04:53 -07:00
pinmux.c arm/tegra: pinmux: ioremap registers 2011-10-13 15:04:53 -07:00
platsmp.c ARM: smp: fix clipping of number of CPUs 2011-10-20 22:06:57 +01:00
powergate.c ARM: tegra: tegra_powergate_is_powered should be static 2011-10-13 14:08:28 -07:00
tegra2_clocks.c ARM: tegra: tegra2_clocks: don't export some tables 2011-10-13 14:08:29 -07:00
tegra2_emc.c ARM: tegra: Add external memory controller driver 2011-02-21 00:16:45 -08:00
tegra2_emc.h ARM: tegra: Add external memory controller driver 2011-02-21 00:16:45 -08:00
timer.c ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime 2011-12-18 23:00:26 +00:00
usb_phy.c ARM: 7101/1: arm/tegra: Replace <mach/gpio.h> with <mach/gpio-tegra.h> 2011-09-27 00:20:53 +01:00