diff options
author | Simon Glass <sjg@chromium.org> | 2018-07-06 10:27:22 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2018-07-09 09:11:00 -0600 |
commit | c640ed0ce6b029f8cda62f2674a671a9c198410a (patch) | |
tree | 0e135ca28e01cee535e7ab85a7e07f06d7380c50 /scripts/dtc | |
parent | a1e0085519b7b34b2db36faa76e13b7f1717f570 (diff) | |
download | u-boot-c640ed0ce6b029f8cda62f2674a671a9c198410a.tar.gz |
libfdt: Add get_property() and del_node()
Add support for these functions in the Python binding. This patch stands
in for a pending upstream change.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts/dtc')
-rw-r--r-- | scripts/dtc/pylibfdt/libfdt.i_shipped | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped index 5b38e63b26..e180ee9308 100644 --- a/scripts/dtc/pylibfdt/libfdt.i_shipped +++ b/scripts/dtc/pylibfdt/libfdt.i_shipped @@ -398,6 +398,27 @@ class Fdt: return pdata return Property(pdata[0], pdata[1]) + def get_property(self, nodeoffset, prop_name, quiet=()): + """Obtains a property by name + + Args: + nodeoffset: Offset to the node to check + prop_name: Name of property to get + quiet: Errors to ignore (empty to raise on all errors) + + Returns: + Property object, or None if not found + + Raises: + FdtException on error (e.g. invalid prop_offset or device + tree format) + """ + pdata = check_err_null( + fdt_get_property(self._fdt, nodeoffset, prop_name), quiet) + if isinstance(pdata, (int)): + return pdata + return Property(pdata[0], pdata[1]) + @staticmethod def create_empty_tree(size, quiet=()): """Create an empty device tree ready for use @@ -632,6 +653,17 @@ class Fdt: """ return check_err(fdt_node_offset_by_phandle(self._fdt, phandle), quiet) + def del_node(self, nodeoffset): + """Delete a node + + Args: + nodeoffset: Node offset containing property to delete + + Raises: + FdtError if the node does not exist, or another error occurs + """ + return check_err(fdt_del_node(self._fdt, nodeoffset)) + class Property(bytearray): """Holds a device tree property name and value. |