On 11/12/20 12:18 PM, Pragnesh Patel wrote: > Tracing need timer ticks and initr_dm() will make gd->timer and > gd->dm_root is equal to NULL, so make sure that initr_dm() to > call before tracing got enabled. > > Signed-off-by: Pragnesh Patel <pragnesh.pa...@sifive.com> > --- > common/board_r.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/common/board_r.c b/common/board_r.c > index 29dd7d26d9..7140a39947 100644 > --- a/common/board_r.c > +++ b/common/board_r.c > @@ -693,6 +693,9 @@ static int run_main_loop(void) > * TODO: perhaps reset the watchdog in the initcall function after each call? > */ > static init_fnc_t init_sequence_r[] = { > +#ifdef CONFIG_DM > + initr_dm, > +#endif > initr_trace, > initr_reloc, > /* TODO: could x86/PPC have this also perhaps? */ > @@ -718,9 +721,6 @@ static init_fnc_t init_sequence_r[] = { > initr_noncached, > #endif > initr_of_live, > -#ifdef CONFIG_DM > - initr_dm, > -#endif
You are moving initr_of_live before initr_of_live. I doubt this will work for boards that have CONFIG_OF_LIVE=y. Can't we move initr_trace down in the code to after both initr_of_live and initr_dm? @Simon: Please, advise. Best regards Heinrich > #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) || defined(CONFIG_RISCV) || > \ > defined(CONFIG_SANDBOX) > board_init, /* Setup chipselects */ >