diff options
-rw-r--r-- | common/event.c | 1 | ||||
-rw-r--r-- | drivers/core/root.c | 6 | ||||
-rw-r--r-- | include/event.h | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/common/event.c b/common/event.c index 3224e281222..6653300e6cf 100644 --- a/common/event.c +++ b/common/event.c @@ -28,6 +28,7 @@ const char *const type_name[] = { /* Events related to driver model */ "dm_post_init_f", + "dm_post_init_r", "dm_pre_probe", "dm_post_probe", "dm_pre_remove", diff --git a/drivers/core/root.c b/drivers/core/root.c index 6775fb0b657..79d871ab291 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -436,8 +436,10 @@ int dm_init_and_scan(bool pre_reloc_only) return ret; } } - if (CONFIG_IS_ENABLED(DM_EVENT) && !(gd->flags & GD_FLG_RELOC)) { - ret = event_notify_null(EVT_DM_POST_INIT_F); + if (CONFIG_IS_ENABLED(DM_EVENT)) { + ret = event_notify_null(gd->flags & GD_FLG_RELOC ? + EVT_DM_POST_INIT_R : + EVT_DM_POST_INIT_F); if (ret) return log_msg_ret("ev", ret); } diff --git a/include/event.h b/include/event.h index daf44bf8a83..bb38ba98e73 100644 --- a/include/event.h +++ b/include/event.h @@ -24,6 +24,7 @@ enum event_t { /* Events related to driver model */ EVT_DM_POST_INIT_F, + EVT_DM_POST_INIT_R, EVT_DM_PRE_PROBE, EVT_DM_POST_PROBE, EVT_DM_PRE_REMOVE, |