+/*
+ * Find the next of path separator, note we need to search for both '/' and ':'
+ * and then take the first one so that we do the right thing for e.g.
+ * "foo/bar:option" and "bar:option/otheroption", both of which happen, so
+ * first searching for either ':' or '/' does not work.
+ */
+static const char *fdt_path_next_separator(const char *path, int len)
+{
+ const void *sep1 = memchr(path, '/', len);
+ const void *sep2 = memchr(path, ':', len);
+
+ if (sep1 && sep2)
+ return (sep1 < sep2) ? sep1 : sep2;
+ else if (sep1)
+ return sep1;
+ else
+ return sep2;
+}
+
+int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)