mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
fdt: Add Python support for adding/removing nodes
Pull this support from these upstream commits: bfbfab0 pylibfdt: Add a means to add and delete notes 9005f41 pylibfdt: Allow delprop() to return errors Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -628,28 +628,50 @@ class Fdt(FdtRo):
|
|||||||
return check_err(fdt_setprop(self._fdt, nodeoffset, prop_name,
|
return check_err(fdt_setprop(self._fdt, nodeoffset, prop_name,
|
||||||
val, len(val)), quiet)
|
val, len(val)), quiet)
|
||||||
|
|
||||||
def delprop(self, nodeoffset, prop_name):
|
def delprop(self, nodeoffset, prop_name, quiet=()):
|
||||||
"""Delete a property from a node
|
"""Delete a property from a node
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
nodeoffset: Node offset containing property to delete
|
nodeoffset: Node offset containing property to delete
|
||||||
prop_name: Name of property to delete
|
prop_name: Name of property to delete
|
||||||
|
quiet: Errors to ignore (empty to raise on all errors)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Error code, or 0 if OK
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
FdtError if the property does not exist, or another error occurs
|
FdtError if the property does not exist, or another error occurs
|
||||||
"""
|
"""
|
||||||
return check_err(fdt_delprop(self._fdt, nodeoffset, prop_name))
|
return check_err(fdt_delprop(self._fdt, nodeoffset, prop_name), quiet)
|
||||||
|
|
||||||
def del_node(self, nodeoffset):
|
def add_subnode(self, parentoffset, name, quiet=()):
|
||||||
|
"""Add a new subnode to a node
|
||||||
|
|
||||||
|
Args:
|
||||||
|
parentoffset: Parent offset to add the subnode to
|
||||||
|
name: Name of node to add
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
offset of the node created, or negative error code on failure
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
FdtError if there is not enough space, or another error occurs
|
||||||
|
"""
|
||||||
|
return check_err(fdt_add_subnode(self._fdt, parentoffset, name), quiet)
|
||||||
|
|
||||||
|
def del_node(self, nodeoffset, quiet=()):
|
||||||
"""Delete a node
|
"""Delete a node
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
nodeoffset: Node offset containing property to delete
|
nodeoffset: Offset of node to delete
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Error code, or 0 if OK
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
FdtError if the node does not exist, or another error occurs
|
FdtError if an error occurs
|
||||||
"""
|
"""
|
||||||
return check_err(fdt_del_node(self._fdt, nodeoffset))
|
return check_err(fdt_del_node(self._fdt, nodeoffset), quiet)
|
||||||
|
|
||||||
|
|
||||||
class Property(bytearray):
|
class Property(bytearray):
|
||||||
|
Reference in New Issue
Block a user