Reviewed-by: Gua Guo <gua....@intel.com> -----Original Message----- From: Wang, BruceX <brucex.w...@intel.com> Sent: Monday, September 25, 2023 10:15 AM To: devel@edk2.groups.io Cc: Wang, BruceX <brucex.w...@intel.com>; Lin, Benny <benny....@intel.com>; Guo, Gua <gua....@intel.com>; Chiu, Chasel <chasel.c...@intel.com>; Lu, James <james...@intel.com> Subject: [PATCH v5 1/2] MdePkg/BaseFdtLib: Add Fdt function.
From: "Brucex.Wang" <brucex.w...@intel.com> Add FdtGetName() and FdtNodeDepth() function. Cc: Benny Lin <benny....@intel.com> Cc: Gua Guo <gua....@intel.com> Cc: Chasel Chiu <chasel.c...@intel.com> Cc: James Lu <james...@intel.com> Signed-off-by: BruceX Wang <brucex.w...@intel.com> --- MdePkg/Include/Library/FdtLib.h | 34 +++++++++++++++++++++++++ MdePkg/Library/BaseFdtLib/FdtLib.c | 40 ++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/MdePkg/Include/Library/FdtLib.h b/MdePkg/Include/Library/FdtLib.h index cf5ceba9e9..d9300a18e3 100644 --- a/MdePkg/Include/Library/FdtLib.h +++ b/MdePkg/Include/Library/FdtLib.h @@ -398,4 +398,38 @@ FdtSetProp ( IN UINT32 Length ); +/**+ Returns the name of a given node.++ @param[in] Fdt The pointer to FDT blob.+ @param[in] NodeOffse Offset of node to check.+ @param[in] Length The pointer to an integer variable (will be overwritten) or NULL.++ @return The pointer to the node's name.++**/+CONST CHAR8 *+EFIAPI+FdtGetName (+ IN VOID *Fdt,+ IN INT32 NodeOffset,+ IN UINT32 *Length+ );++/**+ FdtNodeDepth() finds the depth of a given node. The root node+ has depth 0, its immediate subnodes depth 1 and so forth.++ @param[in] Fdt The pointer to FDT blob.+ @param[in] NodeOffset Offset of node to check.++ @return Depth of the node at NodeOffset.+**/+INT32+EFIAPI+FdtNodeDepth (+ IN CONST VOID *Fdt,+ IN INT32 NodeOffset+ );+ #endif /* FDT_LIB_H_ */diff --git a/MdePkg/Library/BaseFdtLib/FdtLib.c b/MdePkg/Library/BaseFdtLib/FdtLib.c index 090b0b3fd4..1ef99ea882 100644 --- a/MdePkg/Library/BaseFdtLib/FdtLib.c +++ b/MdePkg/Library/BaseFdtLib/FdtLib.c @@ -402,3 +402,43 @@ FdtSetProp ( { return fdt_setprop (Fdt, NodeOffset, Name, Value, (int)Length); }++/**+ Returns the name of a given node.++ @param[in] Fdt The pointer to FDT blob.+ @param[in] NodeOffset Offset of node to check.+ @param[in] Length The pointer to an integer variable (will be overwritten) or NULL.++ @return The pointer to the node's name.++**/+CONST CHAR8 *+EFIAPI+FdtGetName (+ IN VOID *Fdt,+ IN INT32 NodeOffset,+ IN UINT32 *Length+ )+{+ return fdt_get_name (Fdt, NodeOffset, (int *)Length);+}++/**+ FdtNodeDepth() finds the depth of a given node. The root node+ has depth 0, its immediate subnodes depth 1 and so forth.++ @param[in] Fdt The pointer to FDT blob.+ @param[in] NodeOffset Offset of node to check.++ @returns Depth of the node at NodeOffset.+**/+INT32+EFIAPI+FdtNodeDepth (+ IN CONST VOID *Fdt,+ IN INT32 NodeOffset+ )+{+ return fdt_node_depth (Fdt, NodeOffset);+}-- 2.39.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109033): https://edk2.groups.io/g/devel/message/109033 Mute This Topic: https://groups.io/mt/101568108/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-