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:7fe32b3442
("event: Convert arch_cpu_init_dm() to use events") Fixes:42fdcebf85
("event: Convert misc_init_f() to use events") Fixes:c5ef202557
("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>
This commit is contained in:
@@ -93,7 +93,7 @@ config NIOS2
|
|||||||
bool "Nios II architecture"
|
bool "Nios II architecture"
|
||||||
select CPU
|
select CPU
|
||||||
select DM
|
select DM
|
||||||
imply DM_EVENT
|
select DM_EVENT
|
||||||
select OF_CONTROL
|
select OF_CONTROL
|
||||||
select SUPPORT_OF_CONTROL
|
select SUPPORT_OF_CONTROL
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
@@ -111,9 +111,9 @@ config RISCV
|
|||||||
select SUPPORT_OF_CONTROL
|
select SUPPORT_OF_CONTROL
|
||||||
select OF_CONTROL
|
select OF_CONTROL
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
imply SPL_SEPARATE_BSS if SPL
|
imply SPL_SEPARATE_BSS if SPL
|
||||||
imply DM_SERIAL
|
imply DM_SERIAL
|
||||||
imply DM_EVENT
|
|
||||||
imply DM_MMC
|
imply DM_MMC
|
||||||
imply DM_SPI
|
imply DM_SPI
|
||||||
imply DM_SPI_FLASH
|
imply DM_SPI_FLASH
|
||||||
@@ -136,6 +136,7 @@ config SANDBOX
|
|||||||
select BZIP2
|
select BZIP2
|
||||||
select CMD_POWEROFF
|
select CMD_POWEROFF
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
select DM_FUZZING_ENGINE
|
select DM_FUZZING_ENGINE
|
||||||
select DM_GPIO
|
select DM_GPIO
|
||||||
select DM_I2C
|
select DM_I2C
|
||||||
@@ -240,7 +241,6 @@ config X86
|
|||||||
imply CMD_SF
|
imply CMD_SF
|
||||||
imply CMD_SF_TEST
|
imply CMD_SF_TEST
|
||||||
imply CMD_ZBOOT
|
imply CMD_ZBOOT
|
||||||
imply DM_EVENT
|
|
||||||
imply DM_GPIO
|
imply DM_GPIO
|
||||||
imply DM_KEYBOARD
|
imply DM_KEYBOARD
|
||||||
imply DM_MMC
|
imply DM_MMC
|
||||||
|
@@ -778,7 +778,6 @@ config ARCH_OMAP2PLUS
|
|||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
imply TI_SYSC if DM && OF_CONTROL
|
imply TI_SYSC if DM && OF_CONTROL
|
||||||
imply FIT
|
imply FIT
|
||||||
imply DM_EVENT
|
|
||||||
imply SPL_SEPARATE_BSS
|
imply SPL_SEPARATE_BSS
|
||||||
|
|
||||||
config ARCH_MESON
|
config ARCH_MESON
|
||||||
@@ -823,11 +822,11 @@ config ARCH_IMX8
|
|||||||
select SYS_FSL_SEC_COMPAT_4
|
select SYS_FSL_SEC_COMPAT_4
|
||||||
select SYS_FSL_SEC_LE
|
select SYS_FSL_SEC_LE
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
select GPIO_EXTRA_HEADER
|
select GPIO_EXTRA_HEADER
|
||||||
select MACH_IMX
|
select MACH_IMX
|
||||||
select OF_CONTROL
|
select OF_CONTROL
|
||||||
select ENABLE_ARM_SOC_BOOT0_HOOK
|
select ENABLE_ARM_SOC_BOOT0_HOOK
|
||||||
imply DM_EVENT
|
|
||||||
|
|
||||||
config ARCH_IMX8M
|
config ARCH_IMX8M
|
||||||
bool "NXP i.MX8M platform"
|
bool "NXP i.MX8M platform"
|
||||||
@@ -839,14 +838,15 @@ config ARCH_IMX8M
|
|||||||
select SYS_FSL_SEC_LE
|
select SYS_FSL_SEC_LE
|
||||||
select SYS_I2C_MXC
|
select SYS_I2C_MXC
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT if CLK
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
imply DM_EVENT
|
|
||||||
|
|
||||||
config ARCH_IMX8ULP
|
config ARCH_IMX8ULP
|
||||||
bool "NXP i.MX8ULP platform"
|
bool "NXP i.MX8ULP platform"
|
||||||
select ARM64
|
select ARM64
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
select MACH_IMX
|
select MACH_IMX
|
||||||
select OF_CONTROL
|
select OF_CONTROL
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
@@ -854,19 +854,18 @@ config ARCH_IMX8ULP
|
|||||||
select MISC
|
select MISC
|
||||||
select IMX_SENTINEL
|
select IMX_SENTINEL
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
imply DM_EVENT
|
|
||||||
|
|
||||||
config ARCH_IMX9
|
config ARCH_IMX9
|
||||||
bool "NXP i.MX9 platform"
|
bool "NXP i.MX9 platform"
|
||||||
select ARM64
|
select ARM64
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
select MACH_IMX
|
select MACH_IMX
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select GPIO_EXTRA_HEADER
|
select GPIO_EXTRA_HEADER
|
||||||
select MISC
|
select MISC
|
||||||
select IMX_SENTINEL
|
select IMX_SENTINEL
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
imply DM_EVENT
|
|
||||||
|
|
||||||
config ARCH_IMXRT
|
config ARCH_IMXRT
|
||||||
bool "NXP i.MXRT platform"
|
bool "NXP i.MXRT platform"
|
||||||
|
@@ -31,6 +31,7 @@ config OMAP34XX
|
|||||||
|
|
||||||
config OMAP44XX
|
config OMAP44XX
|
||||||
bool "OMAP44XX SoC"
|
bool "OMAP44XX SoC"
|
||||||
|
select DM_EVENT
|
||||||
select SPL_USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
select SPL_SYS_NO_VECTOR_TABLE if SPL
|
select SPL_SYS_NO_VECTOR_TABLE if SPL
|
||||||
imply NAND_OMAP_ELM
|
imply NAND_OMAP_ELM
|
||||||
@@ -55,6 +56,7 @@ config OMAP54XX
|
|||||||
bool "OMAP54XX SoC"
|
bool "OMAP54XX SoC"
|
||||||
select ARM_CORTEX_A15_CVE_2017_5715
|
select ARM_CORTEX_A15_CVE_2017_5715
|
||||||
select ARM_ERRATA_798870
|
select ARM_ERRATA_798870
|
||||||
|
select DM_EVENT
|
||||||
select SYS_THUMB_BUILD
|
select SYS_THUMB_BUILD
|
||||||
imply NAND_OMAP_ELM
|
imply NAND_OMAP_ELM
|
||||||
imply NAND_OMAP_GPMC
|
imply NAND_OMAP_GPMC
|
||||||
@@ -111,6 +113,7 @@ config AM43XX
|
|||||||
config AM33XX
|
config AM33XX
|
||||||
bool "AM33XX SoC"
|
bool "AM33XX SoC"
|
||||||
select ARM_CORTEX_A8_CVE_2017_5715
|
select ARM_CORTEX_A8_CVE_2017_5715
|
||||||
|
select DM_EVENT
|
||||||
select SPECIFY_CONSOLE_INDEX
|
select SPECIFY_CONSOLE_INDEX
|
||||||
imply NAND_OMAP_ELM
|
imply NAND_OMAP_ELM
|
||||||
imply NAND_OMAP_GPMC
|
imply NAND_OMAP_GPMC
|
||||||
|
@@ -121,6 +121,7 @@ config MACH_PIC32
|
|||||||
bool "Support Microchip PIC32"
|
bool "Support Microchip PIC32"
|
||||||
select HAS_FIXED_TIMER_FREQUENCY
|
select HAS_FIXED_TIMER_FREQUENCY
|
||||||
select DM
|
select DM
|
||||||
|
select DM_EVENT
|
||||||
select OF_CONTROL
|
select OF_CONTROL
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
@@ -128,7 +129,6 @@ config TARGET_BOSTON
|
|||||||
bool "Support Boston"
|
bool "Support Boston"
|
||||||
select HAS_FIXED_TIMER_FREQUENCY
|
select HAS_FIXED_TIMER_FREQUENCY
|
||||||
select DM
|
select DM
|
||||||
imply DM_EVENT
|
|
||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select MIPS_CM
|
select MIPS_CM
|
||||||
select SYS_CACHE_SHIFT_6
|
select SYS_CACHE_SHIFT_6
|
||||||
|
@@ -248,6 +248,7 @@ config TARGET_KMP204X
|
|||||||
config TARGET_KMCENT2
|
config TARGET_KMCENT2
|
||||||
bool "Support kmcent2"
|
bool "Support kmcent2"
|
||||||
select VENDOR_KM
|
select VENDOR_KM
|
||||||
|
select EVENT
|
||||||
select FSL_CORENET
|
select FSL_CORENET
|
||||||
select SYS_DPAA_FMAN
|
select SYS_DPAA_FMAN
|
||||||
select SYS_DPAA_PME
|
select SYS_DPAA_PME
|
||||||
|
@@ -395,6 +395,7 @@ config FSP_VERSION1
|
|||||||
|
|
||||||
config FSP_VERSION2
|
config FSP_VERSION2
|
||||||
bool "FSP version 2.x"
|
bool "FSP version 2.x"
|
||||||
|
select DM_EVENT
|
||||||
help
|
help
|
||||||
This covers versions 2.0 and 2.1. See here for details:
|
This covers versions 2.0 and 2.1. See here for details:
|
||||||
https://github.com/IntelFsp/fsp/wiki
|
https://github.com/IntelFsp/fsp/wiki
|
||||||
|
@@ -7,6 +7,7 @@ config INTEL_BAYTRAIL
|
|||||||
select HAVE_FSP
|
select HAVE_FSP
|
||||||
select ARCH_MISC_INIT
|
select ARCH_MISC_INIT
|
||||||
select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
|
select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
|
||||||
|
select DM_EVENT
|
||||||
imply HAVE_INTEL_ME
|
imply HAVE_INTEL_ME
|
||||||
imply ENABLE_MRC_CACHE
|
imply ENABLE_MRC_CACHE
|
||||||
imply AHCI_PCI
|
imply AHCI_PCI
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
config INTEL_BROADWELL
|
config INTEL_BROADWELL
|
||||||
bool
|
bool
|
||||||
select CACHE_MRC_BIN
|
select CACHE_MRC_BIN
|
||||||
|
select DM_EVENT
|
||||||
select ARCH_EARLY_INIT_R
|
select ARCH_EARLY_INIT_R
|
||||||
imply HAVE_INTEL_ME
|
imply HAVE_INTEL_ME
|
||||||
imply ENABLE_MRC_CACHE
|
imply ENABLE_MRC_CACHE
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
config NORTHBRIDGE_INTEL_IVYBRIDGE
|
config NORTHBRIDGE_INTEL_IVYBRIDGE
|
||||||
bool
|
bool
|
||||||
select CACHE_MRC_BIN if HAVE_MRC
|
select CACHE_MRC_BIN if HAVE_MRC
|
||||||
|
select DM_EVENT
|
||||||
imply HAVE_INTEL_ME
|
imply HAVE_INTEL_ME
|
||||||
imply ENABLE_MRC_CACHE
|
imply ENABLE_MRC_CACHE
|
||||||
imply AHCI_PCI
|
imply AHCI_PCI
|
||||||
|
@@ -7,6 +7,7 @@ config INTEL_QUARK
|
|||||||
select HAVE_RMU
|
select HAVE_RMU
|
||||||
select ARCH_EARLY_INIT_R
|
select ARCH_EARLY_INIT_R
|
||||||
select ARCH_MISC_INIT
|
select ARCH_MISC_INIT
|
||||||
|
select DM_EVENT
|
||||||
imply ENABLE_MRC_CACHE
|
imply ENABLE_MRC_CACHE
|
||||||
imply ETH_DESIGNWARE
|
imply ETH_DESIGNWARE
|
||||||
imply ICH_SPI
|
imply ICH_SPI
|
||||||
|
@@ -18,6 +18,7 @@ choice
|
|||||||
config TARGET_CHROMEBOOK_CORAL
|
config TARGET_CHROMEBOOK_CORAL
|
||||||
bool "Chromebook coral"
|
bool "Chromebook coral"
|
||||||
select BIOSEMU
|
select BIOSEMU
|
||||||
|
select EVENT
|
||||||
help
|
help
|
||||||
This is a range of Intel-based laptops released in 2018. They use an
|
This is a range of Intel-based laptops released in 2018. They use an
|
||||||
Intel Apollo Lake SoC. The design supports WiFi, 4GB to 16GB of
|
Intel Apollo Lake SoC. The design supports WiFi, 4GB to 16GB of
|
||||||
|
@@ -124,6 +124,7 @@ config SYS_IVM_EEPROM_PAGE_LEN
|
|||||||
|
|
||||||
config PG_WCOM_UBOOT_UPDATE_SUPPORTED
|
config PG_WCOM_UBOOT_UPDATE_SUPPORTED
|
||||||
bool "Enable U-boot Field Fail-Safe Update Functionality"
|
bool "Enable U-boot Field Fail-Safe Update Functionality"
|
||||||
|
select EVENT
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Indicates that field fail-safe u-boot update is supported.
|
Indicates that field fail-safe u-boot update is supported.
|
||||||
|
@@ -474,6 +474,7 @@ config BOOTMETH_VBE
|
|||||||
depends on FIT
|
depends on FIT
|
||||||
default y
|
default y
|
||||||
select BOOTMETH_GLOBAL
|
select BOOTMETH_GLOBAL
|
||||||
|
select EVENT
|
||||||
help
|
help
|
||||||
Enables support for VBE boot. This is a standard boot method which
|
Enables support for VBE boot. This is a standard boot method which
|
||||||
supports selection of various firmware components, seleciton of an OS to
|
supports selection of various firmware components, seleciton of an OS to
|
||||||
@@ -482,6 +483,7 @@ config BOOTMETH_VBE
|
|||||||
config SPL_BOOTMETH_VBE
|
config SPL_BOOTMETH_VBE
|
||||||
bool "Bootdev support for Verified Boot for Embedded (SPL)"
|
bool "Bootdev support for Verified Boot for Embedded (SPL)"
|
||||||
depends on SPL && FIT
|
depends on SPL && FIT
|
||||||
|
select EVENT
|
||||||
default y if VPL
|
default y if VPL
|
||||||
help
|
help
|
||||||
Enables support for VBE boot. This is a standard boot method which
|
Enables support for VBE boot. This is a standard boot method which
|
||||||
@@ -491,6 +493,7 @@ config SPL_BOOTMETH_VBE
|
|||||||
config VPL_BOOTMETH_VBE
|
config VPL_BOOTMETH_VBE
|
||||||
bool "Bootdev support for Verified Boot for Embedded (VPL)"
|
bool "Bootdev support for Verified Boot for Embedded (VPL)"
|
||||||
depends on VPL && FIT
|
depends on VPL && FIT
|
||||||
|
select EVENT
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Enables support for VBE boot. This is a standard boot method which
|
Enables support for VBE boot. This is a standard boot method which
|
||||||
|
@@ -2622,6 +2622,7 @@ config CMD_DIAG
|
|||||||
|
|
||||||
config CMD_EVENT
|
config CMD_EVENT
|
||||||
bool "event - Show information about events"
|
bool "event - Show information about events"
|
||||||
|
depends on EVENT
|
||||||
default y if EVENT_DEBUG
|
default y if EVENT_DEBUG
|
||||||
help
|
help
|
||||||
This enables the 'event' command which provides information about
|
This enables the 'event' command which provides information about
|
||||||
|
@@ -604,24 +604,23 @@ config CYCLIC_MAX_CPU_TIME_US
|
|||||||
endif # CYCLIC
|
endif # CYCLIC
|
||||||
|
|
||||||
config EVENT
|
config EVENT
|
||||||
bool "General-purpose event-handling mechanism"
|
bool
|
||||||
default y if SANDBOX
|
|
||||||
help
|
help
|
||||||
This enables sending and processing of events, to allow interested
|
This adds a framework for general purpose sending and processing of
|
||||||
parties to be alerted when something happens. This is an attempt to
|
events, to allow interested parties to be alerted when something
|
||||||
stem the flow of weak functions, hooks, functions in board_f.c
|
happens. This is an attempt to stem the flow of weak functions,
|
||||||
and board_r.c and the Kconfig options below.
|
hooks, functions in board_f.c and board_r.c and the Kconfig options
|
||||||
|
below.
|
||||||
|
|
||||||
See doc/develop/event.rst for more information.
|
See doc/develop/event.rst for more information.
|
||||||
|
|
||||||
if EVENT
|
if EVENT
|
||||||
|
|
||||||
config EVENT_DYNAMIC
|
config EVENT_DYNAMIC
|
||||||
bool "Support event registration at runtime"
|
bool
|
||||||
default y if SANDBOX
|
|
||||||
help
|
help
|
||||||
Enable this to support adding an event spy at runtime, without adding
|
Enable this to support adding an event spy at runtime, without adding
|
||||||
it to the EVENT_SPy() linker list. This increases code size slightly
|
it to the EVENT_SPY() linker list. This increases code size slightly
|
||||||
but provides more flexibility for boards and subsystems that need it.
|
but provides more flexibility for boards and subsystems that need it.
|
||||||
|
|
||||||
config EVENT_DEBUG
|
config EVENT_DEBUG
|
||||||
|
@@ -109,13 +109,14 @@ config DM_DEVICE_REMOVE
|
|||||||
causes USB host controllers to not be stopped when booting the OS.
|
causes USB host controllers to not be stopped when booting the OS.
|
||||||
|
|
||||||
config DM_EVENT
|
config DM_EVENT
|
||||||
bool "Support events with driver model"
|
bool
|
||||||
depends on DM && EVENT
|
depends on DM
|
||||||
default y if SANDBOX
|
select EVENT
|
||||||
help
|
help
|
||||||
This enables support for generating events related to driver model
|
This enables support for generating events related to driver model
|
||||||
operations, such as prbing or removing a device. Subsystems can
|
operations, such as prbing or removing a device. Subsystems can
|
||||||
register a 'spy' function that is called when the event occurs.
|
register a 'spy' function that is called when the event occurs. Such
|
||||||
|
subsystems must select this option.
|
||||||
|
|
||||||
config SPL_DM_DEVICE_REMOVE
|
config SPL_DM_DEVICE_REMOVE
|
||||||
bool "Support device removal in SPL"
|
bool "Support device removal in SPL"
|
||||||
|
@@ -23,7 +23,6 @@ config CPU_RISCV
|
|||||||
config CPU_MICROBLAZE
|
config CPU_MICROBLAZE
|
||||||
bool "Enable Microblaze CPU driver"
|
bool "Enable Microblaze CPU driver"
|
||||||
depends on CPU && MICROBLAZE
|
depends on CPU && MICROBLAZE
|
||||||
select EVENT
|
|
||||||
select DM_EVENT
|
select DM_EVENT
|
||||||
select XILINX_MICROBLAZE0_PVR
|
select XILINX_MICROBLAZE0_PVR
|
||||||
help
|
help
|
||||||
|
@@ -14,8 +14,8 @@ config EFI_LOADER
|
|||||||
depends on !EFI_APP
|
depends on !EFI_APP
|
||||||
default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
|
default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
|
||||||
select CHARSET
|
select CHARSET
|
||||||
|
# We need to send DM events, dynamically, in the EFI block driver
|
||||||
select DM_EVENT
|
select DM_EVENT
|
||||||
select EVENT
|
|
||||||
select EVENT_DYNAMIC
|
select EVENT_DYNAMIC
|
||||||
select LIB_UUID
|
select LIB_UUID
|
||||||
imply PARTITION_UUIDS
|
imply PARTITION_UUIDS
|
||||||
|
Reference in New Issue
Block a user