scripts/kconfig: Introduce dt_node_ph_prop_path function
Introduce dt_node_ph_prop_path function. It takes a node 'path' and a phandle property name and returns the path to the pointed-to node. Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
This commit is contained in:
parent
72715531e4
commit
285969c98c
1 changed files with 27 additions and 0 deletions
|
@ -657,6 +657,32 @@ def dt_node_ph_array_prop(kconf, name, path, prop, index, cell, unit=None):
|
||||||
if name == "dt_node_ph_array_prop_hex":
|
if name == "dt_node_ph_array_prop_hex":
|
||||||
return hex(_node_ph_array_prop(node, prop, index, cell, unit))
|
return hex(_node_ph_array_prop(node, prop, index, cell, unit))
|
||||||
|
|
||||||
|
def dt_node_ph_prop_path(kconf, name, path, prop):
|
||||||
|
"""
|
||||||
|
This function takes a 'path' and a property name ('prop') and
|
||||||
|
looks for an EDT node at that path. If it finds an EDT node,
|
||||||
|
it will look to see if that node has a property called 'prop'
|
||||||
|
and if that 'prop' is an phandle type. Then it will return the
|
||||||
|
path to the pointed-to node, or an empty string if there is
|
||||||
|
no such node.
|
||||||
|
"""
|
||||||
|
if doc_mode or edt is None:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
try:
|
||||||
|
node = edt.get_node(path)
|
||||||
|
except edtlib.EDTError:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
if prop not in node.props:
|
||||||
|
return ""
|
||||||
|
if node.props[prop].type != "phandle":
|
||||||
|
return ""
|
||||||
|
|
||||||
|
phandle = node.props[prop].val
|
||||||
|
|
||||||
|
return phandle.path if phandle else ""
|
||||||
|
|
||||||
def dt_node_str_prop_equals(kconf, _, path, prop, val):
|
def dt_node_str_prop_equals(kconf, _, path, prop, val):
|
||||||
"""
|
"""
|
||||||
This function takes a 'path' and property name ('prop') looks for an EDT
|
This function takes a 'path' and property name ('prop') looks for an EDT
|
||||||
|
@ -920,6 +946,7 @@ functions = {
|
||||||
"dt_node_array_prop_hex": (dt_node_array_prop, 3, 4),
|
"dt_node_array_prop_hex": (dt_node_array_prop, 3, 4),
|
||||||
"dt_node_ph_array_prop_int": (dt_node_ph_array_prop, 4, 5),
|
"dt_node_ph_array_prop_int": (dt_node_ph_array_prop, 4, 5),
|
||||||
"dt_node_ph_array_prop_hex": (dt_node_ph_array_prop, 4, 5),
|
"dt_node_ph_array_prop_hex": (dt_node_ph_array_prop, 4, 5),
|
||||||
|
"dt_node_ph_prop_path": (dt_node_ph_prop_path, 2, 2),
|
||||||
"dt_node_str_prop_equals": (dt_node_str_prop_equals, 3, 3),
|
"dt_node_str_prop_equals": (dt_node_str_prop_equals, 3, 3),
|
||||||
"dt_nodelabel_has_compat": (dt_nodelabel_has_compat, 2, 2),
|
"dt_nodelabel_has_compat": (dt_nodelabel_has_compat, 2, 2),
|
||||||
"dt_node_has_compat": (dt_node_has_compat, 2, 2),
|
"dt_node_has_compat": (dt_node_has_compat, 2, 2),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue