[PATCH v2 0/4] clocksource: Add standalone MMIO ARM arch timer driver

Marc Zyngier posted 4 patches 1 month, 2 weeks ago
MAINTAINERS                               |   1 +
drivers/acpi/arm64/gtdt.c                 |  29 +-
drivers/clocksource/Makefile              |   1 +
drivers/clocksource/arm_arch_timer.c      | 686 ++--------------------
drivers/clocksource/arm_arch_timer_mmio.c | 440 ++++++++++++++
include/clocksource/arm_arch_timer.h      |   5 -
6 files changed, 532 insertions(+), 630 deletions(-)
create mode 100644 drivers/clocksource/arm_arch_timer_mmio.c
[PATCH v2 0/4] clocksource: Add standalone MMIO ARM arch timer driver
Posted by Marc Zyngier 1 month, 2 weeks ago
For the past 10 years, both Mark and I have been lamenting about the
sorry state of the badly named "arch_timer" driver, and about the way
the MMIO part is intricately weaved into the system-register part.

The time has finally come to take a stab at it.

This small series simply creates a new timer driver for the MMIO arch
timer, and only that. It is an actual driver, and not some kludge that
has to run super early (that's what the per-CPU timers are for). This
allows, in turn, a pretty large cleanup of the per-CPU driver, though
there is more to come -- one thing at a time.

As an added bonus, we get a clocksource, which the original code
didn't provide. Just in case it might be useful. The end-result is far
more readable, and about 100 lines smaller.

Patches on top of 6.17-rc1.

* From v1 [1]:

  - Narrow the max delta to something that fits an unsigned long, as
    the core code doesn't deal with 64bit quantities on 32bit CPUs.

  - Collected RBs and TBs from Sudeep, with thanks.

Marc Zyngier (4):
  ACPI: GTDT: Generate platform devices for MMIO timers
  clocksource/drivers/arm_arch_timer: Add standalone MMIO driver
  clocksource/drivers/arm_arch_timer_mmio: Switch over to standalone
    driver
  clocksource/drivers/arm_arch_timer_mmio: Add MMIO clocksource

 MAINTAINERS                               |   1 +
 drivers/acpi/arm64/gtdt.c                 |  29 +-
 drivers/clocksource/Makefile              |   1 +
 drivers/clocksource/arm_arch_timer.c      | 686 ++--------------------
 drivers/clocksource/arm_arch_timer_mmio.c | 440 ++++++++++++++
 include/clocksource/arm_arch_timer.h      |   5 -
 6 files changed, 532 insertions(+), 630 deletions(-)
 create mode 100644 drivers/clocksource/arm_arch_timer_mmio.c

-- 
2.39.2