event: Add an event for main_loop
authorSughosh Ganu <sughosh.ganu@linaro.org>
Fri, 21 Oct 2022 12:46:01 +0000 (18:16 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 31 Oct 2022 18:47:32 +0000 (14:47 -0400)
Add an event type EVT_MAIN_LOOP that can be used for registering
events that need to be run after the platform has been initialised and
before the main_loop function is called.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
common/board_r.c
common/event.c
include/event.h

index 98653de..828ad44 100644 (file)
@@ -579,6 +579,9 @@ static int run_main_loop(void)
 #ifdef CONFIG_SANDBOX
        sandbox_main_loop_init();
 #endif
+
+       event_notify_null(EVT_MAIN_LOOP);
+
        /* main_loop() can return to retry autoboot, if so just run it again */
        for (;;)
                main_loop();
index 3e34550..231b9e6 100644 (file)
@@ -38,6 +38,9 @@ const char *const type_name[] = {
 
        /* fdt hooks */
        "ft_fixup",
+
+       /* main loop events */
+       "main_loop",
 };
 
 _Static_assert(ARRAY_SIZE(type_name) == EVT_COUNT, "event type_name size");
index 3e6dcbc..e4580b6 100644 (file)
@@ -34,6 +34,9 @@ enum event_t {
        /* Device tree fixups before booting */
        EVT_FT_FIXUP,
 
+       /* To be called once, before calling main_loop() */
+       EVT_MAIN_LOOP,
+
        EVT_COUNT
 };