# Devmon service module — Zephyr Kconfig
#
# Wraps the devmon C++ service (libs/common + libs/devmon) as a
# discoverable Zephyr module so productized images opt in via
# `CONFIG_DEVMON=y` rather than copy-pasting source lists from
# openubmc/samples/devmon/CMakeLists.txt.
#
# Run-time entry: SYS_INIT(devmon_init, APPLICATION, 60) defined in
# zephyr/devmon_sys_init.cpp (Zephyr-only translation unit).
# Priority 60 falls in the service band (50-79).
config DEVMON
bool "Enable devmon device-management service"
default n
select OPENUBMC_MC_BASE
select OPENUBMC_MC_BASE_REFLECTION
select OPENUBMC_MC_BASE_DATABASE
select OPENUBMC_MC_BASE_LOGGING
select OPENUBMC_LIBMCPP
select OPENUBMC_LIBMCPP_MCAPP
select OPENUBMC_LIBMCPP_ENGINE
select OPENUBMC_FILESYSTEM
select COMPONENT_DRIVERS
help
Pulls in the devmon service translation units (libs/common and
libs/devmon) and registers a SYS_INIT entry at APPLICATION
priority 60 so the kernel auto-starts the service without main()
needing to know about it.
Default n: products explicitly enable devmon in their
applications/<image>/prj.conf. Selecting this implicitly enables
the mc_base / libmcpp / component_drivers tree the service needs;
additional fine-grained selects can be added if a slimmer
devmon footprint is needed in the future.