[Pdbg] [PATCH v3 06/22] libpdbg: Construct unique path based on virtual nodes
Amitay Isaacs
amitay at ozlabs.org
Mon Sep 23 18:48:25 AEST 2019
Even though there can be two different paths to a node, libpdbg users
should always see the path as defined in system device tree (view) which
is the same and independent of the backend device tree.
Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
Reviewed-by: Alistair Popple <alistair at popple.id.au>
---
libpdbg/device.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libpdbg/device.c b/libpdbg/device.c
index cba4475..9cb2a0a 100644
--- a/libpdbg/device.c
+++ b/libpdbg/device.c
@@ -219,6 +219,9 @@ static char *dt_get_path(struct pdbg_target *node)
return strdup("<NULL>");
for (n = node; n; n = n->parent) {
+ if (n->vnode && n->compatible)
+ n = n->vnode;
+
len += strlen(n->dn_name);
if (n->parent || n == node)
len++;
@@ -227,6 +230,9 @@ static char *dt_get_path(struct pdbg_target *node)
assert(path);
p = path + len;
for (n = node; n; n = n->parent) {
+ if (n->vnode && n->compatible)
+ n = n->vnode;
+
len = strlen(n->dn_name);
p -= len;
memcpy(p, n->dn_name, len);
--
2.21.0
More information about the Pdbg
mailing list