clocksource: arm_arch_timer: split MMIO timer probing.
authorFu Wei <fu.wei@linaro.org>
Fri, 31 Mar 2017 17:51:00 +0000 (01:51 +0800)
committerMark Rutland <mark.rutland@arm.com>
Wed, 19 Apr 2017 15:11:48 +0000 (16:11 +0100)
commitc389d701dfb70154edf896f0f9c40d2857ca2d90
tree996be5d0fa56d062fa1066ba5713ad916a137a4b
parentb3251b8fd12337bf04bce46d4af35988742eef95
clocksource: arm_arch_timer: split MMIO timer probing.

Currently the code to probe MMIO architected timers mixes DT parsing with
actual poking of hardware. This makes the code harder than necessary to
understand, and makes it difficult to add support for probing via ACPI.

This patch splits the DT parsing from HW probing. The DT parsing now
lives in arch_timer_mem_of_init(), which fills in an arch_timer_mem
structure that it hands to probing functions that can be reused for ACPI
support.

Since the rate detection logic will be slight different when using ACPI,
the probing is performed as a number of steps. This results in more code
for the moment, and some arguably redundant work, but simplifies matters
considerably when ACPI support is added.

Signed-off-by: Fu Wei <fu.wei@linaro.org>
[Mark: refactor the probing split]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
drivers/clocksource/arm_arch_timer.c