On 21.09.22 08:26, Stefan Roese wrote:
Move the code making sure that the timer is initialized only once into
orion_timer_init(), which is called from timer_early_init() and from
orion_timer_probe(). This way the timer is not re-initialized.

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Michael Walle <mich...@walle.cc>
Cc: Pali Rohár <p...@kernel.org>

Applied to u-boot-marvell/master

Thanks,
Stefan

---
  drivers/timer/orion-timer.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/timer/orion-timer.c b/drivers/timer/orion-timer.c
index cd63ea916237..d0eab3ce781d 100644
--- a/drivers/timer/orion-timer.c
+++ b/drivers/timer/orion-timer.c
@@ -28,6 +28,11 @@ static bool early_init_done __section(".data") = false;
  /* Common functions for early (boot) and DM based timer */
  static void orion_timer_init(void *base, enum input_clock_type type)
  {
+       /* Only init the timer once */
+       if (early_init_done)
+               return;
+       early_init_done = true;
+
        writel(~0, base + TIMER0_VAL);
        writel(~0, base + TIMER0_RELOAD);
@@ -51,11 +56,6 @@ static uint64_t orion_timer_get_count(void *base)
  /* Early (e.g. bootstage etc) timer functions */
  static void notrace timer_early_init(void)
  {
-       /* Only init the timer once */
-       if (early_init_done)
-               return;
-       early_init_done = true;
-
        if (IS_ENABLED(CONFIG_ARCH_MVEBU))
                orion_timer_init((void *)MVEBU_TIMER_BASE, INPUT_CLOCK_25MHZ);
        else

Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to