]> git.sur5r.net Git - u-boot/blobdiff - libfdt/fdt_ro.c
USB Storage, add meaningful return value
[u-boot] / libfdt / fdt_ro.c
index f08941a7adecb6ac23beeb310b075c845f19d382..63fa1290be2bd5433f63e8bddb0007c1f3b77777 100644 (file)
 
 #include "libfdt_internal.h"
 
-#define CHECK_HEADER(fdt) \
-       { \
-               int err; \
-               if ((err = fdt_check_header(fdt)) != 0) \
-                       return err; \
-       }
-
 static int nodename_eq(const void *fdt, int offset,
                       const char *s, int len)
 {
@@ -460,20 +453,10 @@ int fdt_node_check_compatible(const void *fdt, int nodeoffset,
 int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
                                  const char *compatible)
 {
-       uint32_t tag;
-       int offset, nextoffset;
-       int err;
+       int offset, err;
 
        CHECK_HEADER(fdt);
 
-       if (startoffset >= 0) {
-               tag = fdt_next_tag(fdt, startoffset, &nextoffset);
-               if (tag != FDT_BEGIN_NODE)
-                       return -FDT_ERR_BADOFFSET;
-       } else {
-               nextoffset = 0;
-       }
-
        /* FIXME: The algorithm here is pretty horrible: we scan each
         * property of a node in fdt_node_check_compatible(), then if
         * that didn't find what we want, we scan over them again