zephyr/kernel/Kconfig.device
Martí Bolívar 15c9d3711c kernel: add CONFIG_DEVICE_DT_METADATA and helpers
This option allows you to look up a struct device from any of the
node labels that were attached to the devicetree node used to create
the device, etc.

This is helpful because node labels are a much more human-friendly set
of unique identifiers than the node names we are currently relying on
for use with device_get_binding(). Adding this infrastructure in the
device core allows anyone to make use of it without having to
replicate node label storage and search functions in various places in
the tree. The main use case, however, is for looking up devices by
node label in the shell.

Since there is a footprint penalty associated with storing the node
label metadata, leave this option disabled by default.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-06-12 18:49:54 +02:00

71 lines
2.0 KiB
SYSTEMD

# Copyright (c) 2014-2015 Wind River Systems, Inc.
# Copyright (c) 2024 Intel Corp.
# SPDX-License-Identifier: Apache-2.0
#
menu "Device Options"
config DEVICE_DEPS
bool "Store device dependencies"
help
When enabled, device dependencies will be stored so that they can be
queried at runtime. Device dependencies are typically inferred from
devicetree. Enabling this option will increase ROM usage (or RAM if
dynamic device dependencies are enabled).
config DEVICE_DEPS_DYNAMIC
bool "Dynamic device dependencies"
depends on DEVICE_DEPS
help
Option that makes it possible to manipulate device dependencies at
runtime.
config DEVICE_MUTABLE
bool "Mutable devices [EXPERIMENTAL]"
select EXPERIMENTAL
help
Support mutable devices. Mutable devices are instantiated in SRAM
instead of Flash and are runtime modifiable in kernel mode.
config DEVICE_DT_METADATA
bool "Store additional devicetree metadata for each device"
help
If enabled, additional data from the devicetree will be stored for
each device. This allows you to use device_get_by_dt_nodelabel(),
device_get_dt_metadata(), etc.
endmenu
menu "Initialization Priorities"
config KERNEL_INIT_PRIORITY_OBJECTS
int "Kernel objects initialization priority"
default 30
help
Kernel objects use this priority for initialization. This
priority needs to be higher than minimal default initialization
priority.
config KERNEL_INIT_PRIORITY_DEFAULT
int "Default init priority"
default 40
help
Default minimal init priority for each init level.
config KERNEL_INIT_PRIORITY_DEVICE
int "Default init priority for device drivers"
default 50
help
Device driver, that depends on common components, such as
interrupt controller, but does not depend on other devices,
uses this init priority.
config APPLICATION_INIT_PRIORITY
int "Default init priority for application level drivers"
default 90
help
This priority level is for end-user drivers such as sensors and display
which have no inward dependencies.
endmenu