event: Correct dependencies on the EVENT framework
authorTom Rini <trini@konsulko.com>
Mon, 16 Jan 2023 20:46:49 +0000 (15:46 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 18 Jan 2023 17:46:13 +0000 (12:46 -0500)
commit448e2b6327d0498d58506d6f4e4b2a325ab7cca0
tree2ed6c4e6ba1106d7f68e6a6d3424f76593bb3e2e
parente8272cbd59afdc1617e8c0288ebd663fd743d4b5
event: Correct dependencies on the EVENT framework

The event framework is just that, a framework. Enabling it by itself
does nothing, so we shouldn't ask the user about it. Reword (and correct
typos) around this the option and help text. This also applies to
DM_EVENT and EVENT_DYNAMIC. Only EVENT_DEBUG and CMD_EVENT should be
visible to the user to select, when EVENT is selected.

With this, it's time to address the larger problems. When functionality
uses events, typically via EVENT_SPY, the appropriate framework then
must be select'd and NOT imply'd. As the functionality will cease to
work (and so, platforms will fail to boot) this is non-optional and
where select is appropriate. Audit the current users of EVENT_SPY to
have a more fine-grained approach to select'ing the framework where
used. Also ensure the current users of event_register and also select
EVENT_DYNAMIC.

Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reported-by: Oliver Graute <Oliver.Graute@kococonnector.com>
Reported-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Fixes: 7fe32b3442f0 ("event: Convert arch_cpu_init_dm() to use events")
Fixes: 42fdcebf859f ("event: Convert misc_init_f() to use events")
Fixes: c5ef2025579e ("dm: fix DM_EVENT dependencies")
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Fabio Estevam <festevam@denx.de>
18 files changed:
arch/Kconfig
arch/arm/Kconfig
arch/arm/mach-omap2/Kconfig
arch/mips/Kconfig
arch/powerpc/cpu/mpc85xx/Kconfig
arch/x86/Kconfig
arch/x86/cpu/baytrail/Kconfig
arch/x86/cpu/broadwell/Kconfig
arch/x86/cpu/ivybridge/Kconfig
arch/x86/cpu/quark/Kconfig
board/google/Kconfig
board/keymile/Kconfig
boot/Kconfig
cmd/Kconfig
common/Kconfig
drivers/core/Kconfig
drivers/cpu/Kconfig
lib/efi_loader/Kconfig