]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/fdt_support.c
fdt relocate: have more attention to use a bootmap or not
[karo-tx-uboot.git] / common / fdt_support.c
index 718b635d99bb92f4366ff15492f6ad04fec0d5d6..166f5e145d8632f9f80faf03b5bbb3c405d101ac 100644 (file)
@@ -1151,4 +1151,22 @@ int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
        return -FDT_ERR_NOTFOUND;
 }
 
+/**
+ * fdt_alloc_phandle: Return next free phandle value
+ *
+ * @blob: ptr to device tree
+ */
+int fdt_alloc_phandle(void *blob)
+{
+       int offset, len, phandle = 0;
+       const u32 *val;
+
+       for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
+            offset = fdt_next_node(blob, offset, NULL)) {
+               val = fdt_getprop(blob, offset, "linux,phandle", &len);
+               if (val)
+                       phandle = max(*val, phandle);
+       }
 
+       return phandle + 1;
+}