]> git.sur5r.net Git - u-boot/commitdiff
Removed some nonused fdt functions and moved fdt_find_and_setprop out of libfdt
authorKumar Gala <galak@kernel.crashing.org>
Wed, 24 Oct 2007 15:21:57 +0000 (10:21 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 21 Nov 2007 20:01:49 +0000 (14:01 -0600)
Removed:
fdt_node_is_compatible
fdt_find_node_by_type
fdt_find_compatible_node

To ease merge of newer libfdt as we aren't using them anywhere at this time.

Also moved fdt_find_and_setprop out of libfdt into fdt_support.c for the same
reason.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
common/fdt_support.c
include/libfdt.h
libfdt/fdt_ro.c
libfdt/fdt_rw.c

index 175d59eb99432ccb36078a766043c0722eb9c2ec..6a5b27aec53a43a74b8c270737385009d7778617 100644 (file)
@@ -44,6 +44,32 @@ struct fdt_header *fdt;
 
 /********************************************************************/
 
+/**
+ * fdt_find_and_setprop: Find a node and set it's property
+ *
+ * @fdt: ptr to device tree
+ * @node: path of node
+ * @prop: property name
+ * @val: ptr to new value
+ * @len: length of new property value
+ * @create: flag to create the property if it doesn't exist
+ *
+ * Convenience function to directly set a property given the path to the node.
+ */
+int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
+                        const void *val, int len, int create)
+{
+       int nodeoff = fdt_find_node_by_path(fdt, node);
+
+       if (nodeoff < 0)
+               return nodeoff;
+
+       if ((!create) && (fdt_get_property(fdt, nodeoff, prop, 0) == NULL))
+               return 0; /* create flag not set; so exit quietly */
+
+       return fdt_setprop(fdt, nodeoff, prop, val, len);
+}
+
 int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 {
        int   nodeoffset;
index 38c65a9899e41ff01c63c511f8fc9ecf86d97f2c..ba348a9af8f96257e8684d75412bafbd35049d6d 100644 (file)
@@ -78,12 +78,6 @@ int fdt_subnode_offset_namelen(const void *fdt, int parentoffset,
 int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name);
 
 int fdt_find_node_by_path(const void *fdt, const char *path);
-int fdt_find_node_by_type(const void *fdt, int nodeoffset, const char *type);
-
-int fdt_node_is_compatible(const void *fdt, int nodeoffset,
-                          const char *compat);
-int fdt_find_compatible_node(const void *fdt, int nodeoffset,
-                            const char *type, const char *compat);
 
 struct fdt_property *fdt_get_property(const void *fdt, int nodeoffset,
                                      const char *name, int *lenp);
index bc1a5f4240e8d6a4540c2a04641dc1179122d3ee..5816c7a2984c0613d3d5a3c33534ab6a5fff6bef 100644 (file)
@@ -82,118 +82,6 @@ char *fdt_string(const void *fdt, int stroffset)
        return (char *)fdt + fdt_off_dt_strings(fdt) + stroffset;
 }
 
-/*
- * Check if the specified node is compatible by comparing the tokens
- * in its "compatible" property with the specified string:
- *
- *   nodeoffset - starting place of the node
- *   compat     - the string to match to one of the tokens in the
- *                "compatible" list.
- */
-int fdt_node_is_compatible(const void *fdt, int nodeoffset,
-                          const char *compat)
-{
-       const char* cp;
-       int cplen, len;
-
-       cp = fdt_getprop(fdt, nodeoffset, "compatible", &cplen);
-       if (cp == NULL)
-               return 0;
-       while (cplen > 0) {
-               if (strncmp(cp, compat, strlen(compat)) == 0)
-                       return 1;
-               len = strlen(cp) + 1;
-               cp += len;
-               cplen -= len;
-       }
-
-       return 0;
-}
-
-/*
- * Find a node by its device type property. On success, the offset of that
- * node is returned or an error code otherwise:
- *
- *   nodeoffset - the node to start searching from or 0, the node you pass
- *                will not be searched, only the next one will; typically,
- *                you pass 0 to start the search and then what the previous
- *                call returned.
- *   type       - the device type string to match against.
- */
-int fdt_find_node_by_type(const void *fdt, int nodeoffset, const char *type)
-{
-       int offset, nextoffset;
-       struct fdt_property *prop;
-       uint32_t tag;
-       int len, ret;
-
-       CHECK_HEADER(fdt);
-
-       tag = fdt_next_tag(fdt, nodeoffset, &nextoffset, NULL);
-       if (tag != FDT_BEGIN_NODE)
-               return -FDT_ERR_BADOFFSET;
-       if (nodeoffset)
-               nodeoffset = 0; /* start searching with next node */
-
-       while (1) {
-               offset = nextoffset;
-               tag = fdt_next_tag(fdt, offset, &nextoffset, NULL);
-
-               switch (tag) {
-               case FDT_BEGIN_NODE:
-                       nodeoffset = offset;
-                       break;
-
-               case FDT_PROP:
-                       if (nodeoffset == 0)
-                               break;
-                       ret = prop_name_eq(fdt, offset, "device_type",
-                                          &prop, &len);
-                       if (ret < 0)
-                               return ret;
-                       else if (ret > 0 &&
-                                strncmp(prop->data, type, len - 1) == 0)
-                           return nodeoffset;
-                       break;
-
-               case FDT_END_NODE:
-               case FDT_NOP:
-                       break;
-
-               case FDT_END:
-                       return -FDT_ERR_NOTFOUND;
-
-               default:
-                       return -FDT_ERR_BADSTRUCTURE;
-               }
-       }
-}
-
-/*
- * Find a node based on its device type and one of the tokens in its its
- * "compatible" property. On success, the offset of that node is returned
- * or an error code otherwise:
- *
- *   nodeoffset - the node to start searching from or 0, the node you pass
- *                will not be searched, only the next one will; typically,
- *                you pass 0 to start the search and then what the previous
- *                call returned.
- *   type       - the device type string to match against.
- *   compat     - the string to match to one of the tokens in the
- *                "compatible" list.
- */
-int fdt_find_compatible_node(const void *fdt, int nodeoffset,
-                            const char *type, const char *compat)
-{
-       int offset;
-
-       offset = fdt_find_node_by_type(fdt, nodeoffset, type);
-       if (offset < 0 || fdt_node_is_compatible(fdt, offset, compat))
-               return offset;
-
-       return -FDT_ERR_NOTFOUND;
-}
-
 /*
  * Return the node offset of the node specified by:
  *   parentoffset - starting place (0 to start at the root)
index 852b6e6a9abd0e3482e1de97c8abb0f2b620f191..aaafc53644fb89100db283bcfabf2adef9c535b0 100644 (file)
@@ -185,32 +185,6 @@ int fdt_setprop(void *fdt, int nodeoffset, const char *name,
        return 0;
 }
 
-/**
- * fdt_find_and_setprop: Find a node and set it's property
- *
- * @fdt: ptr to device tree
- * @node: path of node
- * @prop: property name
- * @val: ptr to new value
- * @len: length of new property value
- * @create: flag to create the property if it doesn't exist
- *
- * Convenience function to directly set a property given the path to the node.
- */
-int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
-                        const void *val, int len, int create)
-{
-       int nodeoff = fdt_find_node_by_path(fdt, node);
-
-       if (nodeoff < 0)
-               return nodeoff;
-
-       if ((!create) && (fdt_get_property(fdt, nodeoff, prop, 0) == NULL))
-               return 0; /* create flag not set; so exit quietly */
-
-       return fdt_setprop(fdt, nodeoff, prop, val, len);
-}
-
 int fdt_delprop(void *fdt, int nodeoffset, const char *name)
 {
        struct fdt_property *prop;