From 61fba0faba432ae1cefc3984f863c28880d30329 Mon Sep 17 00:00:00 2001 From: Jens Wiklander Date: Mon, 20 Aug 2018 11:09:58 +0200 Subject: ofnode: add ofnode_by_prop_value() Adds ofnode_by_prop_value() to search for nodes with a given property and value, an ofnode version of fdt_node_offset_by_prop_value(). Signed-off-by: Jens Wiklander Reviewed-by: Simon Glass --- drivers/core/ofnode.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/core/ofnode.c') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 0cfb0fbabb0..a7e19277232 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -777,3 +777,17 @@ ofnode ofnode_by_compatible(ofnode from, const char *compat) gd->fdt_blob, ofnode_to_offset(from), compat)); } } + +ofnode ofnode_by_prop_value(ofnode from, const char *propname, + const void *propval, int proplen) +{ + if (of_live_active()) { + return np_to_ofnode(of_find_node_by_prop_value( + (struct device_node *)ofnode_to_np(from), propname, + propval, proplen)); + } else { + return offset_to_ofnode(fdt_node_offset_by_prop_value( + gd->fdt_blob, ofnode_to_offset(from), + propname, propval, proplen)); + } +} -- cgit v1.2.3