summaryrefslogtreecommitdiff
path: root/common/Kconfig
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-03-04 08:43:00 -0700
committerTom Rini <trini@konsulko.com>2022-03-10 08:28:36 -0500
commit87a5d1b5d012b0663517bfa36f5e01c8028f121a (patch)
tree4512a25b7200e1c84cb07aa64a17f98c46a1a13f /common/Kconfig
parent64defba4ea55736926c5152a245164ace58fa04e (diff)
downloadu-boot-87a5d1b5d012b0663517bfa36f5e01c8028f121a.tar.gz
u-boot-87a5d1b5d012b0663517bfa36f5e01c8028f121a.tar.bz2
u-boot-87a5d1b5d012b0663517bfa36f5e01c8028f121a.zip
event: Add basic support for events
Add a way to create and dispatch events without needing to allocate memory. Also add a way to 'spy' on events, thus allowing 'hooks' to be created. Use a linker list for static events, which we can use to replace functions like arch_cpu_init_f(). Allow an EVENT_DEBUG option which makes it easier to see what is going on at runtime, but uses more code space. Dynamic events allow the creation of a spy at runtime. This is not always necessary, but can be enabled with EVENT_DYNAMIC if needed. A 'test' event is the only option for now. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/Kconfig')
-rw-r--r--common/Kconfig31
1 files changed, 31 insertions, 0 deletions
diff --git a/common/Kconfig b/common/Kconfig
index add4cdae02..cabc24fb9c 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -492,6 +492,37 @@ config DISPLAY_BOARDINFO_LATE
menu "Start-up hooks"
+config EVENT
+ bool "General-purpose event-handling mechanism"
+ default y if SANDBOX
+ help
+ This enables sending and processing of events, to allow interested
+ parties to be alerted when something happens. This is an attempt to
+ step the flow of weak functions, hooks, functions in board_f.c
+ and board_r.c and the Kconfig options below.
+
+ See doc/develop/event.rst for more information.
+
+if EVENT
+
+config EVENT_DYNAMIC
+ bool "Support event registration at runtime"
+ default y if SANDBOX
+ help
+ Enable this to support adding an event spy at runtime, without adding
+ it to the EVENT_SPy() linker list. This increases code size slightly
+ but provides more flexibility for boards and subsystems that need it.
+
+config EVENT_DEBUG
+ bool "Enable event debugging assistance"
+ default y if SANDBOX
+ help
+ Enable this get usefui features for seeing what is happening with
+ events, such as event-type names. This adds to the code size of
+ U-Boot so can be turned off for production builds.
+
+endif # EVENT
+
config ARCH_EARLY_INIT_R
bool "Call arch-specific init soon after relocation"
help