dm: core: Clarify behaviour of ofnode_name_eq()

This function is somewhat ambiguous, so expand the comments and add a
test for the undefined behaviour.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2025-01-10 17:00:27 -07:00 committed by Tom Rini
parent d5bc5c6cb0
commit ff698f2ddb
2 changed files with 5 additions and 4 deletions

View file

@ -386,11 +386,10 @@ static inline oftree oftree_from_np(struct device_node *root)
void oftree_dispose(oftree tree); void oftree_dispose(oftree tree);
/** /**
* ofnode_name_eq() - Check if the node name is equivalent to a given name * ofnode_name_eq() - Check a node name ignoring its unit address
* ignoring the unit address
* *
* @node: valid node reference that has to be compared * @node: valid node to compared, which may have a unit address
* @name: name that has to be compared with the node name * @name: name (without unit address) to compare with the node name
* Return: true if matches, false if it doesn't match * Return: true if matches, false if it doesn't match
*/ */
bool ofnode_name_eq(ofnode node, const char *name); bool ofnode_name_eq(ofnode node, const char *name);

View file

@ -186,6 +186,8 @@ static int dm_test_compare_node_name(struct unit_test_state *uts)
ut_assert(ofnode_valid(node)); ut_assert(ofnode_valid(node));
ut_assert(ofnode_name_eq(node, "mmio-bus")); ut_assert(ofnode_name_eq(node, "mmio-bus"));
ut_assert(!ofnode_name_eq(node, "mmio-bus@0"));
return 0; return 0;
} }
DM_TEST(dm_test_compare_node_name, UTF_SCAN_PDATA); DM_TEST(dm_test_compare_node_name, UTF_SCAN_PDATA);