linux/arch/m32r/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
..
.gitignore m32r: add kernel/.gitignore and ignore vmlinux.lds 2010-10-15 19:37:50 -07:00
align.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
asm-offsets.c
entry.S m32r: switch to generic kernel_thread()/kernel_execve() 2012-10-31 22:59:31 -04:00
head.S m32r: Move the spi_stack_top and spu_stack_top into .init.data section. 2009-09-23 00:29:40 +09:00
irq.c m32r: Use generic show_interrupts() 2011-03-24 20:35:57 +01:00
m32r_ksyms.c kill stray kernel_thread() garbage 2012-11-28 21:53:36 -05:00
Makefile m32r: Use generic init_task 2012-05-05 13:00:23 +02:00
module.c Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
process.c flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
ptrace.c m32r: fix 'fix breakage from "m32r: use generic ptrace_resume code"' fallout 2012-07-17 16:21:30 -07:00
setup.c procfs: constify function pointer tables 2008-02-08 09:22:38 -08:00
signal.c Uninclude linux/freezer.h 2012-10-01 09:58:18 -04:00
smp.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smpboot.c smp: Add task_struct argument to __cpu_up() 2012-04-26 12:06:09 +02:00
sys_m32r.c m32r: switch to generic kernel_thread()/kernel_execve() 2012-10-31 22:59:31 -04:00
syscall_table.S All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
time.c time: convert arch_gettimeoffset to a pointer 2012-12-24 09:36:07 -07:00
traps.c Disintegrate asm/system.h for M32R 2012-03-28 18:30:02 +01:00
vmlinux.lds.S Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2011-05-24 11:53:42 -07:00