[Crosstoolchain-logs] [device-tree-compiler] 72/357: libfdt: Add fdt_strerror() function to library

Hector Oron zumbi at moszumanska.debian.org
Thu Dec 8 17:05:51 UTC 2016


This is an automated email from the git hooks/post-receive script.

zumbi pushed a commit to branch upstream/1.3.x
in repository device-tree-compiler.

commit 5b344f9c5aaff698715ffd113164c9cff45d5d2f
Author: David Gibson <dgibson at sneetch.(none)>
Date:   Thu Dec 21 09:57:08 2006 +1100

    libfdt: Add fdt_strerror() function to library
    
    This function moves the fdt_strerror() function, currently found in
    the test code into the fdt library proper.  This makes life easier for
    any library users who want to provide meaningful error messages.  The
    function goes into a module of its own, so that users who don't need
    the function won't get a copy of it linked in.
    
    Signed-off-by: David Gibson <david at gibson.dropbear.id.au>
---
 Makefile          |  2 +-
 TODO              |  1 -
 fdt_strerror.c    | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libfdt.h          |  3 +++
 tests/tests.h     |  1 -
 tests/testutils.c | 41 ------------------------------------
 6 files changed, 67 insertions(+), 44 deletions(-)

diff --git a/Makefile b/Makefile
index d464a82..c8240bb 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 PREFIX = /usr/local
 TARGETLIBS = libfdt.a
-LIBOBJS = fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o
+LIBOBJS = fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o
 
 SOURCE = $(shell find . -maxdepth 1 ! -name version.h -a -name '*.[h]')
 SOURCE += *.c Makefile
diff --git a/TODO b/TODO
index cd796f6..794d0a6 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,3 @@
-- Move fdt_strerror() to core library for convenience
 - Find node by linux,phandle property
 - Tree traversal functions
 - Graft function
diff --git a/fdt_strerror.c b/fdt_strerror.c
new file mode 100644
index 0000000..74c97e7
--- /dev/null
+++ b/fdt_strerror.c
@@ -0,0 +1,63 @@
+/*
+ * libfdt - Flat Device Tree manipulation
+ * Copyright (C) 2006 David Gibson, IBM Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include "libfdt_env.h"
+
+#include <fdt.h>
+#include <libfdt.h>
+
+#include "libfdt_internal.h"
+
+struct errtabent {
+	const char *str;
+};
+
+#define ERRTABENT(val) \
+	[(val)] = { .str = #val, }
+
+static struct errtabent errtable[] = {
+	ERRTABENT(FDT_ERR_NOTFOUND),
+	ERRTABENT(FDT_ERR_EXISTS),
+	ERRTABENT(FDT_ERR_NOSPACE),
+
+	ERRTABENT(FDT_ERR_BADOFFSET),
+	ERRTABENT(FDT_ERR_BADPATH),
+	ERRTABENT(FDT_ERR_BADSTATE),
+
+	ERRTABENT(FDT_ERR_TRUNCATED),
+	ERRTABENT(FDT_ERR_BADMAGIC),
+	ERRTABENT(FDT_ERR_BADVERSION),
+	ERRTABENT(FDT_ERR_BADSTRUCTURE),
+};
+#define ERRTABSIZE	(sizeof(errtable) / sizeof(errtable[0]))
+
+const char *fdt_strerror(int errval)
+{
+	if (errval > 0)
+		return "<valid offset>";
+	else if (errval == 0)
+		return "<no error>";
+	else if (errval > -ERRTABSIZE) {
+		const char *s = errtable[-errval].str;
+
+		if (s)
+			return s;
+	}
+
+	return "<unknown error>";
+}
diff --git a/libfdt.h b/libfdt.h
index 8ba2daf..acdc72e 100644
--- a/libfdt.h
+++ b/libfdt.h
@@ -129,4 +129,7 @@ int fdt_add_subnode_namelen(void *fdt, int parentoffset,
 int fdt_add_subnode(void *fdt, int parentoffset, const char *name);
 int fdt_del_node(void *fdt, int nodeoffset);
 
+/* Extra functions */
+const char *fdt_strerror(int errval);
+
 #endif /* _LIBFDT_H */
diff --git a/tests/tests.h b/tests/tests.h
index b4dd10a..b262e31 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -108,7 +108,6 @@ static inline void *xrealloc(void *p, size_t size)
 	return p;
 }
 
-const char *fdt_strerror(int errval);
 void check_property(void *fdt, int nodeoffset, const char *name,
 		    int len, const void *val);
 #define check_property_typed(fdt, nodeoffset, name, val) \
diff --git a/tests/testutils.c b/tests/testutils.c
index f411067..9637415 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -68,47 +68,6 @@ void test_init(int argc, char *argv[])
 		       test_name, getpid());
 }
 
-
-struct errtabent {
-	const char *str;
-};
-
-#define ERRTABENT(val) \
-	[(val)] = { .str = #val, }
-
-static struct errtabent errtable[] = {
-	ERRTABENT(FDT_ERR_NOTFOUND),
-	ERRTABENT(FDT_ERR_EXISTS),
-	ERRTABENT(FDT_ERR_NOSPACE),
-
-	ERRTABENT(FDT_ERR_BADOFFSET),
-	ERRTABENT(FDT_ERR_BADPATH),
-	ERRTABENT(FDT_ERR_BADSTATE),
-
-	ERRTABENT(FDT_ERR_TRUNCATED),
-	ERRTABENT(FDT_ERR_BADMAGIC),
-	ERRTABENT(FDT_ERR_BADVERSION),
-	ERRTABENT(FDT_ERR_BADSTRUCTURE),
-};
-
-#define ERRTABSIZE	(sizeof(errtable) / sizeof(errtable[0]))
-
-const char *fdt_strerror(int errval)
-{
-	if (errval > 0)
-		return "<valid offset>";
-	else if (errval == 0)
-		return "<no error>";
-	else if (errval > -ERRTABSIZE) {
-		const char *s = errtable[-errval].str;
-
-		if (s)
-			return s;
-	}
-
-	return "<unknown error>";
-}
-
 void check_property(void *fdt, int nodeoffset, const char *name,
 		    int len, const void *val)
 {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/crosstoolchain/device-tree-compiler.git



More information about the Crosstoolchain-logs mailing list