summaryrefslogtreecommitdiff
path: root/libfdt/fdt_ro.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfdt/fdt_ro.c')
-rw-r--r--libfdt/fdt_ro.c112
1 files changed, 0 insertions, 112 deletions
diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c
index bc1a5f4..5816c7a 100644
--- a/libfdt/fdt_ro.c
+++ b/libfdt/fdt_ro.c
@@ -83,118 +83,6 @@ char *fdt_string(const void *fdt, int 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)
* name - name being searched for