linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 00/11] Unify arm_generic and arch_timer drivers
@ 2013-01-09 16:07 Mark Rutland
  2013-01-09 16:07 ` [PATCHv2 01/11] arm: arch_timer: balance device_node refcounting Mark Rutland
                   ` (10 more replies)
  0 siblings, 11 replies; 38+ messages in thread
From: Mark Rutland @ 2013-01-09 16:07 UTC (permalink / raw)
  To: linux-arm-kernel

This is the rebase to an -rc I promised back in December [1].

Changes since v2:
* Rebase to v3.8-rc2
Changes since v1:
* Rename arch_counter_{enable=>set}_user_access.
* * Explicitly disable access to counters from userspace on arm.
* * Add device_node refcounting fix.
* * Fix conflict with Will Deacon's AArch64 vdso changes.
* * Simplify the cpu notifier.
* * Fix a couple of style issues.

Currently we have two drivers for the ARM generic / architected timer,
arch_timer in arch/arm, and arm_generic in drivers/clocksource. This is
an unnecessary duplication of code, and will only lead to maintenance
headaches later.

This patch series splits the generic portion of the arch_timer out to
drivers/clocksource, and ports the arm64 code to use it. The now unused
arm_generic driver is removed in the process.

Separating the arch_timer driver from the arm-specific local_timer api
currently loses us broadcast timer support. I've posted another series
[2] which remedies this by decoupling the timer broadcast mechanism from
drivers.

The series applies to v3.8-rc2, and has been tested on a TC2 test chip.
It also applies to Catalin's soc-armv8-model branch [3], the result of
which has been tested on an AArch64 model.

Christoffer, this will conflict with one of your KVM/ARM architected
timers support patches ([PATCH v5 1/4] ARM: arch_timers: switch to
physical timers if HYP mode is available). I'm happy to fold that into
this series if you're ok with that?

Thanks,
Mark

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-December/138130.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/140528.html
[3] git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64.git soc-armv8-model

Mark Rutland (11):
  arm: arch_timer: balance device_node refcounting
  arm: arch_timer: remove redundant available check
  arm: arch_timer: use u64/u32 for register data
  arm: arch_timer: standardise counter reading
  arm: arch_timer: split cntfrq accessor
  arm: arch_timer: factor out register accessors
  arm: arch_timer: divorce from local_timer api
  arm: arch_timer: add arch_counter_set_user_access
  arm: arch_timer: move core to drivers/clocksource
  arm64: move from arm_generic to arm_arch_timer
  Documentation: Add ARMv8 to arch_timer devicetree

 .../devicetree/bindings/arm/arch_timer.txt         |    7 +-
 arch/arm/Kconfig                                   |    3 +-
 arch/arm/include/asm/arch_timer.h                  |  111 ++++-
 arch/arm/kernel/arch_timer.c                       |  504 +-------------------
 arch/arm/mach-omap2/Kconfig                        |    2 +-
 arch/arm64/Kconfig                                 |    1 +
 arch/arm64/include/asm/arch_timer.h                |  133 +++++
 arch/arm64/include/asm/arm_generic.h               |  100 ----
 arch/arm64/kernel/time.c                           |   29 +-
 drivers/clocksource/Kconfig                        |    6 +-
 drivers/clocksource/Makefile                       |    2 +-
 drivers/clocksource/arm_arch_timer.c               |  375 +++++++++++++++
 drivers/clocksource/arm_generic.c                  |  232 ---------
 include/clocksource/arm_arch_timer.h               |   63 +++
 include/clocksource/arm_generic.h                  |   21 -
 15 files changed, 734 insertions(+), 855 deletions(-)
 create mode 100644 arch/arm64/include/asm/arch_timer.h
 delete mode 100644 arch/arm64/include/asm/arm_generic.h
 create mode 100644 drivers/clocksource/arm_arch_timer.c
 delete mode 100644 drivers/clocksource/arm_generic.c
 create mode 100644 include/clocksource/arm_arch_timer.h
 delete mode 100644 include/clocksource/arm_generic.h

^ permalink raw reply	[flat|nested] 38+ messages in thread
* [PATCHv2 00/11] Unify arm_generic and arch_timer drivers
@ 2012-12-19 15:10 Mark Rutland
  2012-12-19 15:11 ` [PATCHv2 06/11] arm: arch_timer: factor out register accessors Mark Rutland
  0 siblings, 1 reply; 38+ messages in thread
From: Mark Rutland @ 2012-12-19 15:10 UTC (permalink / raw)
  To: linux-arm-kernel

This is an updated version the series I posted a few weeks ago [1].

Changes since v1:
* Rename arch_counter_{enable=>set}_user_access.
* Explicitly disable access to counters from userspace on arm.
* Add device_node refcounting fix.
* Fix conflict with Will Deacon's AArch64 vdso changes.
* Simplify the cpu notifier.
* Fix a couple of style issues.

Currently we have two drivers for the ARM generic / architected timer,
arch_timer in arch/arm, and arm_generic in drivers/clocksource. This is
an unnecessary duplication of code, and will only lead to maintenance
headaches later.

This patch series splits the generic portion of the arch_timer out to
drivers/clocksource, and ports the arm64 code to use it. The now unused
arm_generic driver is removed in the process.

Separating the arch_timer driver from the arm-specific local_timer api
currently loses us broadcast timer support. I've posted another series
[2] which attempts to remedy this by decoupling the timer broadcast
mechanism from drivers.

Due to the unfortunate timing of the merge window and the dependence on
Will's vdso changes in mainline since v3.7, I've based this on today's
upstream HEAD (752451f0). I'll repost the series in January rebased onto
an -rc.

Thanks,
Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-November/135651.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-December/137929.html

Mark Rutland (11):
  arm: arch_timer: balance device_node refcounting
  arm: arch_timer: remove redundant available check
  arm: arch_timer: use u64/u32 for register data
  arm: arch_timer: standardise counter reading
  arm: arch_timer: split cntfrq accessor
  arm: arch_timer: factor out register accessors
  arm: arch_timer: divorce from local_timer api
  arm: arch_timer: add arch_counter_set_user_access
  arm: arch_timer: move core to drivers/clocksource
  arm64: move from arm_generic to arm_arch_timer
  Documentation: Add ARMv8 to arch_timer devicetree

 .../devicetree/bindings/arm/arch_timer.txt         |    7 +-
 arch/arm/Kconfig                                   |    3 +-
 arch/arm/include/asm/arch_timer.h                  |  111 ++++-
 arch/arm/kernel/arch_timer.c                       |  504 +-------------------
 arch/arm/mach-omap2/Kconfig                        |    2 +-
 arch/arm64/Kconfig                                 |    1 +
 arch/arm64/include/asm/arch_timer.h                |  133 +++++
 arch/arm64/include/asm/arm_generic.h               |  100 ----
 arch/arm64/kernel/time.c                           |   29 +-
 drivers/clocksource/Kconfig                        |    6 +-
 drivers/clocksource/Makefile                       |    2 +-
 drivers/clocksource/arm_arch_timer.c               |  375 +++++++++++++++
 drivers/clocksource/arm_generic.c                  |  232 ---------
 include/clocksource/arm_arch_timer.h               |   63 +++
 include/clocksource/arm_generic.h                  |   21 -
 15 files changed, 734 insertions(+), 855 deletions(-)
 create mode 100644 arch/arm64/include/asm/arch_timer.h
 delete mode 100644 arch/arm64/include/asm/arm_generic.h
 create mode 100644 drivers/clocksource/arm_arch_timer.c
 delete mode 100644 drivers/clocksource/arm_generic.c
 create mode 100644 include/clocksource/arm_arch_timer.h
 delete mode 100644 include/clocksource/arm_generic.h

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2013-01-15 10:38 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-09 16:07 [PATCHv3 00/11] Unify arm_generic and arch_timer drivers Mark Rutland
2013-01-09 16:07 ` [PATCHv2 01/11] arm: arch_timer: balance device_node refcounting Mark Rutland
2013-01-11 12:59   ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 02/11] arm: arch_timer: remove redundant available check Mark Rutland
2013-01-11 13:11   ` Santosh Shilimkar
2013-01-11 14:07     ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 03/11] arm: arch_timer: use u64/u32 for register data Mark Rutland
2013-01-11 13:19   ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 04/11] arm: arch_timer: standardise counter reading Mark Rutland
2013-01-11 13:23   ` Santosh Shilimkar
2013-01-15 10:25     ` Mark Rutland
2013-01-15 10:38       ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 05/11] arm: arch_timer: split cntfrq accessor Mark Rutland
2013-01-11 13:27   ` Santosh Shilimkar
2013-01-11 14:16     ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 06/11] arm: arch_timer: factor out register accessors Mark Rutland
2013-01-11 13:32   ` Santosh Shilimkar
2013-01-11 14:31     ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 07/11] arm: arch_timer: divorce from local_timer api Mark Rutland
2013-01-11 13:34   ` Santosh Shilimkar
2013-01-11 16:46     ` Catalin Marinas
2013-01-11 16:56       ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 08/11] arm: arch_timer: add arch_counter_set_user_access Mark Rutland
2013-01-11 13:40   ` Santosh Shilimkar
2013-01-11 14:54     ` Mark Rutland
2013-01-11 15:07       ` Will Deacon
2013-01-11 17:00         ` Santosh Shilimkar
2013-01-11 16:50     ` Catalin Marinas
2013-01-11 16:57       ` Santosh Shilimkar
2013-01-11 17:54       ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 09/11] arm: arch_timer: move core to drivers/clocksource Mark Rutland
2013-01-11 13:48   ` Santosh Shilimkar
2013-01-11 15:04     ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 10/11] arm64: move from arm_generic to arm_arch_timer Mark Rutland
2013-01-11 13:50   ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 11/11] Documentation: Add ARMv8 to arch_timer devicetree Mark Rutland
2013-01-11 13:52   ` Santosh Shilimkar
  -- strict thread matches above, loose matches on Subject: below --
2012-12-19 15:10 [PATCHv2 00/11] Unify arm_generic and arch_timer drivers Mark Rutland
2012-12-19 15:11 ` [PATCHv2 06/11] arm: arch_timer: factor out register accessors Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).