summaryrefslogtreecommitdiff
path: root/doc/develop/event.rst
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-01-20 14:46:05 -0700
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-01-27 18:31:59 +0100
commitd67811aa9a7d85793e73bead898f30139265c3c2 (patch)
treecfb4cbcf72e24d9ffdfed10bc69f898794968e12 /doc/develop/event.rst
parent1402f1dcee07bd87953f247cd61d1ebc00ae2d1f (diff)
event: Document dynamic event handlers
Add mention of this feature in the event documentation. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'doc/develop/event.rst')
-rw-r--r--doc/develop/event.rst23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/develop/event.rst b/doc/develop/event.rst
index 6951ec97e7..4ff5934837 100644
--- a/doc/develop/event.rst
+++ b/doc/develop/event.rst
@@ -64,3 +64,26 @@ in an image, use $(CROSS_COMPILE)nm::
nm u-boot |grep evspy |grep list
00000000002d6300 D _u_boot_list_2_evspy_info_2_EVT_MISC_INIT_F
+
+Logging is also available. Events use category `LOGC_EVENT`, so you can enable
+logging on that, or add `#define LOG_DEBUG` to the top of `common/event.c` to
+see events being sent.
+
+
+Dynamic events
+--------------
+
+Static events provide a way of dealing with events known at build time. In some
+cases we want to attach an event handler at runtime. For example, we may wish
+to be notified when a particular device is probed or removed.
+
+This can be handled by enabling `CONFIG_EVENT_DYNAMIC`. It is then possible to
+call `event_register()` to register a new handler for a particular event.
+
+Dynamic event handlers are called after all the static event spy handlers have
+been processed. Of course, since dynamic event handlers are created at runtime
+it is not possible to use the `event_dump.py` to see them.
+
+At present there is no way to list dynamic event handlers from the command line,
+nor to deregister a dynamic event handler. These features can be added when
+needed.