dm: core: Allow finding a uclass device by partial name

In some cases two devices are related and the only way to tell is to
check that the names partially patch. Add a way to check this without
needing to create a new string for the comparison.

Fix the comment for device_find_child_by_namelen() while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2022-04-24 23:31:00 -06:00
committed by Tom Rini
parent 6aa4fe3912
commit 4e0710a2d0
4 changed files with 42 additions and 4 deletions

View File

@@ -1260,3 +1260,18 @@ static int dm_test_get_stats(struct unit_test_state *uts)
return 0;
}
DM_TEST(dm_test_get_stats, UT_TESTF_SCAN_FDT);
/* Test uclass_find_device_by_name() */
static int dm_test_uclass_find_device(struct unit_test_state *uts)
{
struct udevice *dev;
ut_assertok(uclass_find_device_by_name(UCLASS_I2C, "i2c@0", &dev));
ut_asserteq(-ENODEV,
uclass_find_device_by_name(UCLASS_I2C, "i2c@0x", &dev));
ut_assertok(uclass_find_device_by_namelen(UCLASS_I2C, "i2c@0x", 5,
&dev));
return 0;
}
DM_TEST(dm_test_uclass_find_device, UT_TESTF_SCAN_FDT);