diff options
author | Simon Glass <sjg@chromium.org> | 2022-03-04 08:43:00 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-03-10 08:28:36 -0500 |
commit | 87a5d1b5d012b0663517bfa36f5e01c8028f121a (patch) | |
tree | 4512a25b7200e1c84cb07aa64a17f98c46a1a13f /common/Kconfig | |
parent | 64defba4ea55736926c5152a245164ace58fa04e (diff) | |
download | u-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/Kconfig | 31 |
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 |