Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions scripts/kconfig/kconfigfunctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,29 @@ def dt_nodelabel_bool_prop(kconf, _, label, prop):

return _dt_node_bool_prop_generic(edt.label2node.get, label, prop)

def dt_nodelabel_int_prop(kconf, _, label, prop):
"""
This function takes a 'label' and looks for an EDT node with that label.
If it finds an EDT node, it will look to see if that node has a int
property by the name of 'prop'. If the 'prop' exists it will return the
value of the property, otherwise it returns "0".
"""
if doc_mode or edt is None:
return "0"

try:
node = edt.label2node.get(label)
except edtlib.EDTError:
return "0"

if not node or node.props[prop].type != "int":
return "0"

if not node.props[prop].val:
return "0"

return str(node.props[prop].val)

def dt_chosen_bool_prop(kconf, _, chosen, prop):
"""
This function takes a /chosen node property named 'chosen', and
Expand Down Expand Up @@ -1059,6 +1082,7 @@ def inc_dec(kconf, name, *args):
"dt_nodelabel_reg_size_hex": (dt_nodelabel_reg, 1, 3),
"dt_node_bool_prop": (dt_node_bool_prop, 2, 2),
"dt_nodelabel_bool_prop": (dt_nodelabel_bool_prop, 2, 2),
"dt_nodelabel_int_prop": (dt_nodelabel_int_prop, 2, 2),
"dt_chosen_bool_prop": (dt_chosen_bool_prop, 2, 2),
"dt_node_has_prop": (dt_node_has_prop, 2, 2),
"dt_nodelabel_has_prop": (dt_nodelabel_has_prop, 2, 2),
Expand Down
Loading