event: Add a command

Add a command to show the available events.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2022-03-04 08:43:06 -07:00 committed by Tom Rini
parent 7fe32b3442
commit c81b460c86
5 changed files with 40 additions and 0 deletions

View File

@ -812,6 +812,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

View File

@ -2367,6 +2367,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

View File

@ -53,6 +53,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

27
cmd/event.c Normal file
View File

@ -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));

View File

@ -141,6 +141,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