libfdt: Trivial cleanup for CHECK_HEADER)
PATCH 1/2 libfdt: Trivial cleanup for CHECK_HEADER)
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 <[email protected]>
--- libfdt/fdt.c | 5 +---- libfdt/fdt_ro.c | 7 ------- libfdt/fdt_rw.c | 8 ++------ libfdt/libfdt_internal.h | 7 +++++++ 4 files changed, 10 insertions(+), 17 deletions(-)
libfdt/fdt.c +1 -4
@@ -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 ;
libfdt/fdt_ro.c +0 -7
@@ -55,13 +55,6 @@#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) {
libfdt/fdt_rw.c +2 -6
@@ -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 );
libfdt/libfdt_internal.h +7 -0
@@ -58,6 +58,13 @@#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);
Signature · 1 line
1.5.4.1