[PATCH v4 00/15] Runtime registration for local timers
Marc Zyngier
marc.zyngier at arm.com
Fri Jan 20 07:03:47 EST 2012
This patch series switches the various local timers implementation
(TWD, MCT, MSM timer) to be registered at runtime instead of being
hardwired at compile time. In the process, TWD gets an OF binding that
is used by highbank and imx6q.
Tested on EB11MP, OMAP4, Tegra and Exynos4. Based on v3.3-rc1.
Branch also available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git local_timers-v3.3-rc1
* From v3:
- Fix !LOCAL_TIMERS warning in smp_twd.h
- Fix ct-ca9x twd init that was too early
- Rebased to v3.3-rc1
* From v2:
- Fix __initdata anotations that should have been __cpuinitdata
(reported by David Brown and Russell King)
- Fix interrupt trigger in DTS file for highbank and imx6q
(as requested by Rob Herring and Shawn Guo)
- Move warning to twd_local_timer_of_register()
(as requested by Rob Herring)
- Fix shmobile compilation fix (reported by Magnus Damm)
- Fold local_timer_{setup,stop}() into percpu_timer_{setup,stop}()
* From initial version:
- Moved away from late_time_init, making the code even simpler
- Added a DEFINE_TWD_LOCAL_TIMER() macro to reduce the init cluter
- Updated TWD DT support to have separate nodes for timer and watchdog
- Added support for the new r8a7779 shmobile that suddenly appeared
- Fixed a tiny dts bug on imx6q
Marc Zyngier (15):
ARM: smp_twd: make local_timer_stop a symbol instead of a #define
ARM: local timers: introduce a new registration interface
ARM: smp_twd: add runtime registration support
ARM: smp_twd: add device tree support
ARM: OMAP4: convert to twd_local_timer_register() interface
ARM: plat-versatile: convert to twd_local_timer_register() interface
ARM: tegra: convert to twd_local_timer_register() interface
ARM: shmobile: convert to twd_local_timer_register() interface
ARM: ux500: convert to twd_local_timer_register() interface
ARM: highbank: convert to twd_local_timer_register() interface
ARM: imx6q: convert to twd_local_timer_register() interface
ARM: smp_twd: remove old local timer interface
ARM: local timers: convert exynos to runtime registration interface
ARM: local timers: convert MSM to runtime registration interface
ARM: local timers: make the runtime registration interface mandatory
Documentation/devicetree/bindings/arm/twd.txt | 48 ++++++++++
arch/arm/boot/dts/highbank.dts | 8 +-
arch/arm/boot/dts/imx6q.dtsi | 6 +-
arch/arm/include/asm/localtimer.h | 37 ++------
arch/arm/include/asm/smp_twd.h | 25 ++++-
arch/arm/kernel/smp.c | 22 ++++-
arch/arm/kernel/smp_twd.c | 123 ++++++++++++++++++++-----
arch/arm/mach-exynos/mct.c | 18 ++--
arch/arm/mach-highbank/Makefile | 1 -
arch/arm/mach-highbank/highbank.c | 3 +
arch/arm/mach-highbank/localtimer.c | 40 --------
arch/arm/mach-imx/Makefile | 1 -
arch/arm/mach-imx/localtimer.c | 35 -------
arch/arm/mach-imx/mach-imx6q.c | 2 +
arch/arm/mach-msm/timer.c | 79 +++++++++-------
arch/arm/mach-omap2/Makefile | 1 -
arch/arm/mach-omap2/timer-mpu.c | 39 --------
arch/arm/mach-omap2/timer.c | 22 ++++-
arch/arm/mach-realview/realview_eb.c | 27 ++++-
arch/arm/mach-realview/realview_pb11mp.c | 21 ++++-
arch/arm/mach-realview/realview_pbx.c | 20 +++-
arch/arm/mach-shmobile/Makefile | 1 -
arch/arm/mach-shmobile/include/mach/common.h | 2 +
arch/arm/mach-shmobile/localtimer.c | 26 -----
arch/arm/mach-shmobile/platsmp.c | 1 -
arch/arm/mach-shmobile/smp-r8a7779.c | 8 +-
arch/arm/mach-shmobile/smp-sh73a0.c | 8 +-
arch/arm/mach-shmobile/timer.c | 10 ++
arch/arm/mach-tegra/Makefile | 2 +-
arch/arm/mach-tegra/localtimer.c | 26 -----
arch/arm/mach-tegra/timer.c | 22 ++++-
arch/arm/mach-ux500/Makefile | 1 -
arch/arm/mach-ux500/cpu.c | 1 -
arch/arm/mach-ux500/localtimer.c | 29 ------
arch/arm/mach-ux500/timer.c | 32 +++++--
arch/arm/mach-vexpress/ct-ca9x4.c | 17 +++-
arch/arm/plat-versatile/Makefile | 1 -
arch/arm/plat-versatile/localtimer.c | 27 ------
38 files changed, 407 insertions(+), 385 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/twd.txt
delete mode 100644 arch/arm/mach-highbank/localtimer.c
delete mode 100644 arch/arm/mach-imx/localtimer.c
delete mode 100644 arch/arm/mach-omap2/timer-mpu.c
delete mode 100644 arch/arm/mach-shmobile/localtimer.c
delete mode 100644 arch/arm/mach-tegra/localtimer.c
delete mode 100644 arch/arm/mach-ux500/localtimer.c
delete mode 100644 arch/arm/plat-versatile/localtimer.c
--
1.7.7.1
More information about the linux-arm-kernel
mailing list