
Add a command to show the available events.
Signed-off-by: Simon Glass sjg@chromium.org ---
MAINTAINERS | 1 + cmd/Kconfig | 8 ++++++++ cmd/Makefile | 1 + cmd/event.c | 27 +++++++++++++++++++++++++++ include/event.h | 3 +++ 5 files changed, 40 insertions(+) create mode 100644 cmd/event.c
diff --git a/MAINTAINERS b/MAINTAINERS index bc8d53cf387..117a7d6c985 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -789,6 +789,7 @@ F: scripts/env2string.awk EVENTS M: Simon Glass sjg@chromium.org S: Maintained +F: cmd/event.c F: common/event.c F: include/event.h F: test/common/event.c diff --git a/cmd/Kconfig b/cmd/Kconfig index fd8f0227c89..5d2ef66fe4d 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -2320,6 +2320,14 @@ config CMD_DIAG available tests and running either all the tests, or specific tests identified by name.
+config CMD_EVENT + bool "event - Show information about events" + default y if EVENT_DEBUG + help + This enables the 'event' command which provides information about + events and event-handler routines. This can help to device event + hadling. + config CMD_IRQ bool "irq - Show information about interrupts" depends on !ARM && !MIPS && !RISCV && !SH diff --git a/cmd/Makefile b/cmd/Makefile index 891819ae0f6..fde81266646 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -54,6 +54,7 @@ obj-$(CONFIG_CMD_DIAG) += diag.o endif obj-$(CONFIG_CMD_ADTIMG) += adtimg.o obj-$(CONFIG_CMD_ABOOTIMG) += abootimg.o +obj-$(CONFIG_CMD_EVENT) += event.o obj-$(CONFIG_CMD_EXTENSION) += extension_board.o obj-$(CONFIG_CMD_ECHO) += echo.o obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o diff --git a/cmd/event.c b/cmd/event.c new file mode 100644 index 00000000000..9cac2023530 --- /dev/null +++ b/cmd/event.c @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Command-line access to events + * + * Copyright 2021 Google LLC + * Written by Simon Glass sjg@chromium.org + */ + +#include <common.h> +#include <command.h> +#include <event.h> + +static int do_event_list(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + event_show_spy_list(); + + return 0; +} + +#ifdef CONFIG_SYS_LONGHELP +static char event_help_text[] = + "event list - list event spies"; +#endif + +U_BOOT_CMD_WITH_SUBCMDS(event, "Events", event_help_text, + U_BOOT_SUBCMD_MKENT(list, 1, 1, do_event_list)); diff --git a/include/event.h b/include/event.h index f2d3639c82a..17280335d8c 100644 --- a/include/event.h +++ b/include/event.h @@ -113,6 +113,9 @@ static inline const char *event_spy_id(struct evspy_info *spy) int event_register(const char *id, enum event_t type, event_handler_t func, void *ctx);
+/** event_show_spy_list( - Show a list of event spies */ +void event_show_spy_list(void); + #if CONFIG_IS_ENABLED(EVENT) /** * event_notify() - notify spies about an event