When CONFIG_TIMER_EARLY is selected and the timer driver implements
timer_early_get_count() and timer_early_get_rate() this leads to
an EAGAIN error one some configurations in...

common/board_f.c:initf_dm()

initf_dm() invokes dm_timer_init(), but this function returns with
an EAGAIN error in, because the DM virtual root driver isn't
initialized yet in...

drivers/timer/timer-class.c:dm_timer_init()

[WORKAROUND]

Move error handling to (next patch in this serie)...

lib/time.c

Signed-off-by: Johannes Krottmayer <krj...@gmail.com>
Cc: Wolfgang Denk <w...@denx.de>
Cc: Thomas Chou <tho...@wytron.com.tw>
Cc: Rick Chen <r...@andestech.com>
Cc: Leo <ycli...@andestech.com>
Cc: Bin Meng <bmeng...@gmail.com>
Cc: Sean Anderson <sean...@gmail.com>
Cc: Anup Patel <a...@brainfault.org>
Cc: Thomas Chou <tho...@wytron.com.tw>
---
 common/board_f.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/common/board_f.c b/common/board_f.c
index a68760092a..fc883c1742 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -785,12 +785,6 @@ static int initf_dm(void)
        bootstage_accum(BOOTSTAGE_ID_ACCUM_DM_F);
        if (ret)
                return ret;
-
-       if (IS_ENABLED(CONFIG_TIMER_EARLY)) {
-               ret = dm_timer_init();
-               if (ret)
-                       return ret;
-       }
 #endif
 
        return 0;
-- 
2.34.1

Reply via email to