linux/arch/blackfin/kernel
Stephen Warren 7b1f62076b time: convert arch_gettimeoffset to a pointer
Currently, whenever CONFIG_ARCH_USES_GETTIMEOFFSET is enabled, each
arch core provides a single implementation of arch_gettimeoffset(). In
many cases, different sub-architectures, different machines, or
different timer providers exist, and so the arch ends up implementing
arch_gettimeoffset() as a call-through-pointer anyway. Examples are
ARM, Cris, M68K, and it's arguable that the remaining architectures,
M32R and Blackfin, should be doing this anyway.

Modify arch_gettimeoffset so that it itself is a function pointer, which
the arch initializes. This will allow later changes to move the
initialization of this function into individual machine support or timer
drivers. This is particularly useful for code in drivers/clocksource
which should rely on an arch-independant mechanism to register their
implementation of arch_gettimeoffset().

This patch also converts the Cris architecture to set arch_gettimeoffset
directly to the final implementation in time_init(), because Cris already
had separate time_init() functions per sub-architecture. M68K and ARM
are converted to set arch_gettimeoffset to the final implementation in
later patches, because they already have function pointers in place for
this purpose.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-12-24 09:36:07 -07:00
..
cplb-mpu blackfin: cplb-mpu: fix page mask table overflow 2012-03-21 11:00:06 +08:00
cplb-nompu blackfin: cplb-nompu: fix ROM cplb size for bf609-ezkit 2012-07-24 13:39:53 +08:00
.gitignore Blackfin: ignore generated vmlinux.lds 2009-05-27 00:27:03 -04:00
asm-offsets.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
bfin_dma.c bfin-dma: only use MDMA3 on bf609 2012-07-24 13:39:48 +08:00
bfin_gpio.c Blackfin: bfin_gpio: proc: fix return value 2012-10-08 14:36:29 +08:00
bfin_ksyms.c Blackfin: move internal irq prototypes out of global namespace 2011-05-25 08:13:43 -04:00
cplbinfo.c Blackfin: cplbinfo: drop d_path() hacks 2009-10-07 04:48:04 -04:00
debug-mmrs.c blackfin: add bf60x to current framework 2012-05-21 14:54:12 +08:00
dma-mapping.c blackfin: Call sg_for_each to pass through the whole sg list. 2012-07-24 13:39:48 +08:00
dumpstack.c Blackfin: make hardware trace output a little more useful 2010-05-21 09:40:19 -04:00
early_printk.c Blackfin: mass clean up of copyright/licensing info 2009-10-07 04:36:26 -04:00
entry.S bfin: switch to generic vfork, get rid of pointless wrappers 2012-11-28 23:43:41 -05:00
exception.c Blackfin: split kernel/traps.c 2010-05-21 09:40:17 -04:00
fixed_code.S Blackfin: mass clean up of copyright/licensing info 2009-10-07 04:36:26 -04:00
flat.c Blackfin: mass clean up of copyright/licensing info 2009-10-07 04:36:26 -04:00
ftrace-entry.S Blackfin: add support for dynamic ftrace 2010-08-06 12:55:54 -04:00
ftrace.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
gptimers.c blackfin: bf60x: fix compiling warning 2012-05-21 14:54:26 +08:00
ipipe.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
irqchip.c Blackfin: move internal irq prototypes out of global namespace 2011-05-25 08:13:43 -04:00
kgdb_test.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
kgdb.c blackfin: kgdb: call generic_exec_single() directly 2012-12-13 15:28:40 +08:00
Makefile pwm: Move Blackfin PWM driver to PWM framework 2012-07-02 21:38:59 +02:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
perf_event.c blackfin: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:01 -04:00
process.c flagday: kill pt_regs argument of do_fork() 2012-11-29 00:01:08 -05:00
pseudodbg.c Blackfin: show the whole accumulator in the pseudo DBG insn 2010-05-22 14:19:06 -04:00
ptrace.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
reboot.c Blackfin: fix wrong place disabled irq 2012-10-08 14:36:30 +08:00
setup.c mtd/uclinux: Use generic __bss_stop instead of _ebss 2012-06-27 09:59:43 +02:00
shadow_console.c blackfin: add bf60x to current framework 2012-05-21 14:54:12 +08:00
signal.c bfin: switch to generic vfork, get rid of pointless wrappers 2012-11-28 23:43:41 -05:00
stacktrace.c Blackfin: add preliminary support for STACKTRACE 2009-06-13 07:20:14 -04:00
sys_bfin.c blackfin: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:01 -04:00
time-ts.c blackfin: bf60x: enable gptimer clock source 2012-05-21 14:54:20 +08:00
time.c time: convert arch_gettimeoffset to a pointer 2012-12-24 09:36:07 -07:00
trace.c blackfin: fix possible deadlock in decode_address() 2012-05-31 17:49:30 -07:00
traps.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
vmlinux.lds.S Blackfin: make sure percpu section is aligned in XIP builds 2011-07-23 01:18:22 -04:00