Pārlūkot izejas kodu

dm: event: add EVT_DM_POST_INIT_R event type

This patch introduces EVT_DM_POST_INIT_R event type for handling hooks
after relocation.

Fixes: 55171aedda88 ("dm: Emit the arch_cpu_init_dm() even only before relocation")
Suggested-by: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Tested-by: Milan P. Stanić <mps@arvanta.net>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Roland Ruckerbauer <mail@ruabmbua.dev>
Tested-by: Roland Ruckerbauer <mail@ruabmbua.dev>
Fixed missing event name in event.c:
Signed-off-by: Simon Glass <sjg@chromium.org>
Chanho Park 9 mēneši atpakaļ
vecāks
revīzija
27c7a62986
3 mainītis faili ar 6 papildinājumiem un 2 dzēšanām
  1. 1 0
      common/event.c
  2. 4 2
      drivers/core/root.c
  3. 1 0
      include/event.h

+ 1 - 0
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",

+ 4 - 2
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);
 	}

+ 1 - 0
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,