libfdt: Trivial cleanup for CHECK_HEADER)
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 18 Feb 2008 07:06:31 +0000 (18:06 +1100)
committerGerald Van Baren <vanbaren@cideas.com>
Wed, 19 Mar 2008 01:03:45 +0000 (21:03 -0400)
Currently the CHECK_HEADER() macro is defined local to fdt_ro.c.
However, there are a handful of functions (fdt_move, rw_check_header,
fdt_open_into) from other files which could also use it (currently
they open-code something more-or-less identical).  Therefore, this
patch moves CHECK_HEADER() to libfdt_internal.h and uses it in those
places.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
libfdt/fdt.c
libfdt/fdt_ro.c
libfdt/fdt_rw.c
libfdt/libfdt_internal.h

index c61fb531b3ccf09270621eb3b1baea3278e4eeb4..bd91712378b52a0ce6ecd91c61c63a98124585e8 100644 (file)
@@ -184,10 +184,7 @@ const char *_fdt_find_string(const char *strtab, int tabsize, const char *s)
 
 int fdt_move(const void *fdt, void *buf, int bufsize)
 {
-       int err = fdt_check_header(fdt);
-
-       if (err)
-               return err;
+       CHECK_HEADER(fdt);
 
        if (fdt_totalsize(fdt) > bufsize)
                return -FDT_ERR_NOSPACE;
index f08941a7adecb6ac23beeb310b075c845f19d382..15d5f6b585cc800276357d8ff205eaf6428ed30f 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)
 {
index ac5019560fe02f58af5d895a42b7c776d20f5d0b..0df472bc5e0ffaf1166300a76f5560f76c76427b 100644 (file)
@@ -69,10 +69,8 @@ static int _blocks_misordered(const void *fdt,
 
 static int rw_check_header(void *fdt)
 {
-       int err;
+       CHECK_HEADER(fdt);
 
-       if ((err = fdt_check_header(fdt)))
-               return err;
        if (fdt_version(fdt) < 17)
                return -FDT_ERR_BADVERSION;
        if (_blocks_misordered(fdt, sizeof(struct fdt_reserve_entry),
@@ -399,9 +397,7 @@ int fdt_open_into(const void *fdt, void *buf, int bufsize)
        int newsize;
        void *tmp;
 
-       err = fdt_check_header(fdt);
-       if (err)
-               return err;
+       CHECK_HEADER(fdt);
 
        mem_rsv_size = (fdt_num_mem_rsv(fdt)+1)
                * sizeof(struct fdt_reserve_entry);
index 1e60936beb5bbff7d609fc55011430fdadc8bd82..52e1b8d810b08b69e08b88c34b3208b5869f2189 100644 (file)
 #define memeq(p, q, n) (memcmp((p), (q), (n)) == 0)
 #define streq(p, q)    (strcmp((p), (q)) == 0)
 
+#define CHECK_HEADER(fdt) \
+       { \
+               int err; \
+               if ((err = fdt_check_header(fdt)) != 0) \
+                       return err; \
+       }
+
 uint32_t _fdt_next_tag(const void *fdt, int startoffset, int *nextoffset);
 const char *_fdt_find_string(const char *strtab, int tabsize, const char *s);
 int _fdt_node_end_offset(void *fdt, int nodeoffset);