device_tree: Drop sub-node path lookup from dt_find_node_by_path()

Besides looking up a node with an absolute path dt_find_node_by_path()
currently also supports finding a sub-node of a non-root node. All
callers of the function pass the root node though, so it seems there
is no real need for this functionality. Also it is planned to support
DT path names with aliases, which would become messy in combination with
the lookup from a sub-node.

Change the interface of dt_find_node_by_path() to receive the DT tree
object instead of a parent node and adapt all callers accordingly.

This patch was adapted from depthcharge's http://crosreview.com/1252769

Change-Id: Iff56be4da2461ae73a7301dcaa315758d2a8c999
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32864
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/cavium/cn81xx/soc.c b/src/soc/cavium/cn81xx/soc.c
index 0500749..20542e5 100644
--- a/src/soc/cavium/cn81xx/soc.c
+++ b/src/soc/cavium/cn81xx/soc.c
@@ -185,7 +185,7 @@
 	size_t i;
 
 	/* Set the sclk clock rate. */
-	dt_node = dt_find_node_by_path(tree->root, "soc@0/sclk", NULL, NULL, 0);
+	dt_node = dt_find_node_by_path(tree, "soc@0/sclk", NULL, NULL, 0);
 	if (dt_node) {
 		const u32 freq = thunderx_get_io_clock();
 		printk(BIOS_INFO, "%s: Set SCLK to %u Hz\n", __func__, freq);
@@ -195,7 +195,7 @@
 		       __func__);
 
 	/* Set refclkuaa clock rate. */
-	dt_node = dt_find_node_by_path(tree->root, "soc@0/refclkuaa", NULL,
+	dt_node = dt_find_node_by_path(tree, "soc@0/refclkuaa", NULL,
 				       NULL, 0);
 	if (dt_node) {
 		const u32 freq = uart_platform_refclk();
@@ -212,7 +212,7 @@
 		const uint64_t addr = UAAx_PF_BAR0(i);
 		/* Remove the node */
 		snprintf(path, sizeof(path), "soc@0/serial@%llx", addr);
-		dt_node = dt_find_node_by_path(tree->root, path, NULL, NULL, 0);
+		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node || uart_is_enabled(i)) {
 			printk(BIOS_INFO, "%s: ignoring %s\n", __func__, path);
 			continue;
@@ -228,7 +228,7 @@
 		const uint64_t addr = PEM_PEMX_PF_BAR0(i);
 		/* Remove the node */
 		snprintf(path, sizeof(path), "soc@0/pci@%llx", addr);
-		dt_node = dt_find_node_by_path(tree->root, path, NULL, NULL, 0);
+		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node || bdk_pcie_is_running(0, i)) {
 			printk(BIOS_INFO, "%s: ignoring %s\n", __func__, path);
 			continue;
@@ -240,7 +240,7 @@
 
 		/* Remove phandle to non existing nodes */
 		snprintf(path, sizeof(path), "soc@0/smmu0@%llx", SMMU_PF_BAR0);
-		dt_node = dt_find_node_by_path(tree->root, path, NULL, NULL, 0);
+		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node) {
 			printk(BIOS_ERR, "%s: SMMU entry not found\n",
 			       __func__);