From 77cbaf8837fd096b876d8a6c05d90683f5f4b82e Mon Sep 17 00:00:00 2001 From: Kishon Vijay Abraham I Date: Wed, 21 Jul 2021 21:28:30 +0530 Subject: [PATCH] dm: core: Add helper to compare node names Add helper to compare node names. Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Lokesh Vutla Reviewed-by: Simon Glass Link: https://lore.kernel.org/r/20210721155849.20994-2-kishon@ti.com --- drivers/core/ofnode.c | 13 +++++++++++++ include/dm/ofnode.h | 10 ++++++++++ 2 files changed, 23 insertions(+) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index dda6c76..701b23e 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -18,6 +18,19 @@ #include #include +bool ofnode_name_eq(ofnode node, const char *name) +{ + const char *node_name; + size_t len; + + assert(ofnode_valid(node)); + + node_name = ofnode_get_name(node); + len = strchrnul(node_name, '@') - node_name; + + return (strlen(name) == len) && !strncmp(node_name, name, len); +} + int ofnode_read_u32(ofnode node, const char *propname, u32 *outp) { return ofnode_read_u32_index(node, propname, 0, outp); diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 3da05d8..4e1a844 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -232,6 +232,16 @@ static inline ofnode ofnode_root(void) } /** + * ofnode_name_eq() - Check if the node name is equivalent to a given name + * ignoring the unit address + * + * @node: valid node reference that has to be compared + * @name: name that has to be compared with the node name + * @return true if matches, false if it doesn't match + */ +bool ofnode_name_eq(ofnode node, const char *name); + +/** * ofnode_read_u32() - Read a 32-bit integer from a property * * @ref: valid node reference to read property from -- 2.7.4