From b4f20767b12a5718ed8549aece73d405c6cac800 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Fri, 23 Feb 2018 17:38:50 +0100 Subject: core: add ofnode_get_by_phandle() api We need to get ofnode from a phandle, add interface to support both live dt and fdt. Signed-off-by: Kever Yang Reviewed-by: Simon Glass Reviewed-by: Philipp Tomsich Tested-by: Klaus Goger Signed-off-by: Philipp Tomsich --- drivers/core/ofnode.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'drivers') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index dd6d57c..d0bdea0 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -188,6 +188,19 @@ const char *ofnode_get_name(ofnode node) return fdt_get_name(gd->fdt_blob, ofnode_to_offset(node), NULL); } +ofnode ofnode_get_by_phandle(uint phandle) +{ + ofnode node; + + if (of_live_active()) + node = np_to_ofnode(of_find_node_by_phandle(phandle)); + else + node.of_offset = fdt_node_offset_by_phandle(gd->fdt_blob, + phandle); + + return node; +} + int ofnode_read_size(ofnode node, const char *propname) { int len; -- cgit v1.1