Merge git://git.denx.de/u-boot-dm
[platform/kernel/u-boot.git] / drivers / core / of_access.c
index 94ef3cc..2bb23ee 100644 (file)
@@ -96,6 +96,30 @@ int of_n_size_cells(const struct device_node *np)
        return OF_ROOT_NODE_SIZE_CELLS_DEFAULT;
 }
 
+int of_simple_addr_cells(const struct device_node *np)
+{
+       const __be32 *ip;
+
+       ip = of_get_property(np, "#address-cells", NULL);
+       if (ip)
+               return be32_to_cpup(ip);
+
+       /* Return a default of 2 to match fdt_address_cells()*/
+       return 2;
+}
+
+int of_simple_size_cells(const struct device_node *np)
+{
+       const __be32 *ip;
+
+       ip = of_get_property(np, "#size-cells", NULL);
+       if (ip)
+               return be32_to_cpup(ip);
+
+       /* Return a default of 2 to match fdt_size_cells()*/
+       return 2;
+}
+
 struct property *of_find_property(const struct device_node *np,
                                  const char *name, int *lenp)
 {
@@ -244,6 +268,12 @@ static struct device_node *__of_get_next_child(const struct device_node *node,
                return NULL;
 
        next = prev ? prev->sibling : node->child;
+       /*
+        * coverity[dead_error_line : FALSE]
+        * Dead code here since our current implementation of of_node_get()
+        * always returns NULL (Coverity CID 163245). But we leave it as is
+        * since we may want to implement get/put later.
+        */
        for (; next; next = next->sibling)
                if (of_node_get(next))
                        break;