libfdt: Sync fdt_for_each_subnode() with upstream

The signature for this macro has changed. Bring in the upstream version and
adjust U-Boot's usages to suit.

Signed-off-by: Simon Glass <sjg@chromium.org>
Update to drivers/power/pmic/palmas.c:
Signed-off-by: Keerthy <j-keerthy@ti.com>

Change-Id: I6cc9021339bfe686f9df21d61a1095ca2b3776e8
diff --git a/lib/libfdt/fdt_overlay.c b/lib/libfdt/fdt_overlay.c
index 40b6d27..d35ceac 100644
--- a/lib/libfdt/fdt_overlay.c
+++ b/lib/libfdt/fdt_overlay.c
@@ -146,7 +146,7 @@
 	if (!found && !ret)
 		return ret;
 
-	fdt_for_each_subnode(fdto, child, node)
+	fdt_for_each_subnode(child, fdto, node)
 		overlay_adjust_node_phandles(fdto, child, delta);
 
 	return 0;
@@ -248,7 +248,7 @@
 		}
 	}
 
-	fdt_for_each_subnode(fdto, fixup_child, fixup_node) {
+	fdt_for_each_subnode(fixup_child, fdto, fixup_node) {
 		const char *fixup_child_name = fdt_get_name(fdto, fixup_child,
 							    NULL);
 		int tree_child;
@@ -511,7 +511,7 @@
 			return ret;
 	}
 
-	fdt_for_each_subnode(fdto, node, fragment) {
+	fdt_for_each_subnode(node, fdto, fragment) {
 		const char *name = fdt_get_name(fdto, node, NULL);
 		int nnode;
 		int ret;
@@ -550,7 +550,7 @@
 {
 	int fragment;
 
-	fdt_for_each_subnode(dto, fragment, 0) {
+	fdt_for_each_subnode(fragment, dto, 0) {
 		int overlay;
 		int target;
 		int ret;