[rtems commit] libfdt: overlay: make overlay_get_target() public

Sebastian Huber sebh at rtems.org
Thu Dec 16 13:58:33 UTC 2021


Module:    rtems
Branch:    master
Commit:    75b3f48aa38fe77e5c6bac3de4e87311d142461b
Changeset: http://git.rtems.org/rtems/commit/?id=75b3f48aa38fe77e5c6bac3de4e87311d142461b

Author:    Vikram Garhwal <fnu.vikram at xilinx.com>
Date:      Wed Nov 17 18:53:56 2021 -0800

libfdt: overlay: make overlay_get_target() public

This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the overlay nodes, e.g. mapping of
resources(IRQs and IOMMUs) to other VMs, creation of SMMU pagetables, etc.

Signed-off-by: Vikram Garhwal <fnu.vikram at xilinx.com>
Message-Id: <1637204036-382159-2-git-send-email-fnu.vikram at xilinx.com>
Signed-off-by: David Gibson <david at gibson.dropbear.id.au>

---

 cpukit/include/libfdt.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/cpukit/include/libfdt.h b/cpukit/include/libfdt.h
index 7f117e8..a7f432c 100644
--- a/cpukit/include/libfdt.h
+++ b/cpukit/include/libfdt.h
@@ -2116,6 +2116,24 @@ int fdt_del_node(void *fdt, int nodeoffset);
  */
 int fdt_overlay_apply(void *fdt, void *fdto);
 
+/**
+ * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+ * @fdt: Base device tree blob
+ * @fdto: Device tree overlay blob
+ * @fragment_offset: node offset of the fragment in the overlay
+ * @pathp: pointer which receives the path of the target (or NULL)
+ *
+ * fdt_overlay_target_offset() retrieves the target offset in the base
+ * device tree of a fragment, no matter how the actual targeting is
+ * done (through a phandle or a path)
+ *
+ * returns:
+ *      the targeted node offset in the base device tree
+ *      Negative error code on error
+ */
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp);
+
 /**********************************************************************/
 /* Debugging / informational functions                                */
 /**********************************************************************/



More information about the vc mailing list