1
linux/drivers/clocksource
Stephen Boyd e09f3cc018 clocksource: arch_timer: Make register accessors less error-prone
Using an enum for the register we wish to access allows newer
compilers to determine if we've forgotten a case in our switch
statement. This allows us to remove the BUILD_BUG() instances in
the arm64 port, avoiding problems where optimizations may not
happen.

To try and force better code generation we're currently marking
the accessor functions as inline, but newer compilers can ignore
the inline keyword unless it's marked __always_inline. Luckily on
arm and arm64 inline is __always_inline, but let's make
everything __always_inline to be explicit.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <Marc.Zyngier@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
2013-08-01 01:13:35 +02:00
..
acpi_pm.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
arm_arch_timer.c clocksource: arch_timer: Make register accessors less error-prone 2013-08-01 01:13:35 +02:00
arm_global_timer.c clocksource: arm_global_timer: Add ARM global timer support 2013-07-03 17:30:57 +02:00
bcm2835_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
bcm_kona_timer.c clocksource: kona: adapt to CLOCKSOURCE_OF_DECLARE change 2013-06-19 17:54:37 +02:00
cadence_ttc_timer.c clocksource: cadence_ttc: Reuse clocksource as sched_clock 2013-07-18 15:27:34 +02:00
clksrc-dbx500-prcmu.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
clksrc-of.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00
cs5535-clockevt.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dummy_timer.c clocksource: Add generic dummy timer driver 2013-06-24 22:27:37 +02:00
dw_apb_timer_of.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
dw_apb_timer.c Revert "dw_apb_timer_of.c: Remove parts that were picoxcell-specific" 2013-06-18 16:02:04 -07:00
em_sti.c clocksource: em_sti: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
exynos_mct.c clocksource: exynos_mct: use (request/free)_irq calls for local timer registration 2013-06-19 04:09:35 +09:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig Merge branch 'timers/clockevents' of git://git.linaro.org/people/dlezcano/clockevents into timers/urgent 2013-07-12 17:10:30 +02:00
Makefile ARM: clocksource: Add support for MOXA ART SoCs 2013-07-18 15:27:47 +02:00
metag_generic.c metag: log core and timer frequencies from arch code 2013-06-13 12:55:27 +01:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mxs_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
nomadik-mtu.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
samsung_pwm_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: sh_cmt: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
sh_mtu2.c clocksource: sh_mtu2: Set initcall level to subsys 2013-03-13 02:24:37 +09:00
sh_tmu.c clocksource: sh_tmu: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
sun4i_timer.c clocksource: sun4i: Fix bug when switching from periodic to oneshot modes 2013-07-18 15:27:21 +02:00
tcb_clksrc.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
tegra20_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
time-armada-370-xp.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
time-orion.c clocksource: orion: Use linux/sched_clock.h 2013-07-17 20:28:00 -07:00
timer-marco.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
timer-prima2.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
vf_pit_timer.c clocksource: vf_pit_timer: Use linux/sched_clock.h 2013-06-25 01:41:48 +02:00
vt8500_timer.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00
zevio-timer.c clocksource: Add TI-Nspire timer support 2013-06-06 17:23:13 +02:00