Skip to content

Commit 17ec97d

Browse files
gmarullnordicjm
authored andcommitted
[nrf fromtree] scripts: kconfig: introduce dt_nodelabel_exists
Add a new function to check if a nodelabel exists in devicetree. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> (cherry picked from commit b99ae6c)
1 parent aa42184 commit 17ec97d

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

doc/build/kconfig/preprocessor-functions.rst

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ while the ``*_hex`` version returns a hexadecimal value starting with ``0x``.
6565
$(dt_nodelabel_bool_prop,<node label>,<prop>)
6666
$(dt_nodelabel_enabled,<node label>)
6767
$(dt_nodelabel_enabled_with_compat,<node label>,<compatible string>)
68+
$(dt_nodelabel_exists,<node label>)
6869
$(dt_nodelabel_has_compat,<node label>,<compatible string>)
6970
$(dt_nodelabel_has_prop,<node label>,<prop>)
7071
$(dt_nodelabel_path,<node label>)

scripts/kconfig/kconfigfunctions.py

+13
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,18 @@ def dt_node_enabled(kconf, name, node):
149149
return "y" if node and node.status == "okay" else "n"
150150

151151

152+
def dt_nodelabel_exists(kconf, _, label):
153+
"""
154+
This function returns "y" if a nodelabel exists and "n" otherwise.
155+
"""
156+
if doc_mode or edt is None:
157+
return "n"
158+
159+
node = edt.label2node.get(label)
160+
161+
return "y" if node else "n"
162+
163+
152164
def dt_nodelabel_enabled(kconf, _, label):
153165
"""
154166
This function is like dt_node_enabled(), but the 'label' argument
@@ -1030,6 +1042,7 @@ def inc_dec(kconf, name, *args):
10301042
"dt_chosen_has_compat": (dt_chosen_has_compat, 2, 2),
10311043
"dt_path_enabled": (dt_node_enabled, 1, 1),
10321044
"dt_alias_enabled": (dt_node_enabled, 1, 1),
1045+
"dt_nodelabel_exists": (dt_nodelabel_exists, 1, 1),
10331046
"dt_nodelabel_enabled": (dt_nodelabel_enabled, 1, 1),
10341047
"dt_nodelabel_enabled_with_compat": (dt_nodelabel_enabled_with_compat, 2, 2),
10351048
"dt_chosen_reg_addr_int": (dt_chosen_reg, 1, 3),

0 commit comments

Comments
 (0)