dm: core: add ofnode_get_path()

Add function for retrieving full node path of a given ofnode.
This uses np->full_name if OF is live, otherwise a call to
fdt_get_path() is made.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Tested-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
Marek Behún
2021-05-26 14:08:18 +02:00
committed by Jagan Teki
parent 31a7b719d0
commit 0e116bea52
3 changed files with 56 additions and 0 deletions

View File

@@ -297,3 +297,24 @@ static int dm_test_ofnode_get_reg(struct unit_test_state *uts)
return 0;
}
DM_TEST(dm_test_ofnode_get_reg, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
static int dm_test_ofnode_get_path(struct unit_test_state *uts)
{
const char *path = "/translation-test@8000/noxlatebus@3,300/dev@42";
char buf[64];
ofnode node;
int res;
node = ofnode_path(path);
ut_assert(ofnode_valid(node));
res = ofnode_get_path(node, buf, 64);
ut_asserteq(0, res);
ut_asserteq_str(path, buf);
res = ofnode_get_path(node, buf, 32);
ut_asserteq(-ENOSPC, res);
return 0;
}
DM_TEST(dm_test_ofnode_get_path, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);