[PATCH v2 00/15] Runtime registration for local timers

Marc Zyngier marc.zyngier at arm.com
Fri Jan 13 13:28:27 EST 2012


This patches 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 Linus' tree as of
some random point today.

Branch also available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git local_timers-v3.3-rc0

* 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                |    4 +-
 arch/arm/boot/dts/imx6q.dtsi                  |    6 +-
 arch/arm/include/asm/localtimer.h             |   37 ++-------
 arch/arm/include/asm/smp_twd.h                |   26 +++++-
 arch/arm/kernel/smp.c                         |   31 +++++++-
 arch/arm/kernel/smp_twd.c                     |  113 ++++++++++++++++++++-----
 arch/arm/mach-exynos/mct.c                    |   18 ++--
 arch/arm/mach-highbank/Makefile               |    1 -
 arch/arm/mach-highbank/highbank.c             |    5 +
 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                |    5 +
 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, 412 insertions(+), 381 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