# 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.