diff options
-rw-r--r-- | checks.c | 16 | ||||
-rw-r--r-- | dtc.c | 13 | ||||
-rw-r--r-- | dtc.h | 4 |
3 files changed, 18 insertions, 15 deletions
@@ -270,8 +270,12 @@ static struct check *check_table[] = { &phandle_references, }; -void process_checks(int force, struct node *dt) +int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys); + +void process_checks(int force, struct boot_info *bi, + int checkflag, int outversion, int boot_cpuid_phys) { + struct node *dt = bi->dt; int i; int error = 0; @@ -292,6 +296,16 @@ void process_checks(int force, struct node *dt) "output forced\n"); } } + + if (checkflag) { + if (error) { + fprintf(stderr, "Warning: Skipping semantic checks due to structural errors\n"); + } else { + if (!check_semantics(bi->dt, outversion, + boot_cpuid_phys)) + fprintf(stderr, "Warning: Input tree has semantic errors\n"); + } + } } /* @@ -122,7 +122,6 @@ int main(int argc, char *argv[]) FILE *outf = NULL; int outversion = DEFAULT_FDT_VERSION; int boot_cpuid_phys = 0xfeedbeef; - int structure_ok; quiet = 0; reservenum = 0; @@ -205,17 +204,7 @@ int main(int argc, char *argv[]) if (! bi || ! bi->dt) die("Couldn't read input tree\n"); - process_checks(force, bi->dt); - - if (check) { - if (!structure_ok) { - fprintf(stderr, "Warning: Skipping semantic checks due to structural errors\n"); - } else { - if (!check_semantics(bi->dt, outversion, - boot_cpuid_phys)) - fprintf(stderr, "Warning: Input tree has semantic errors\n"); - } - } + process_checks(force, bi, check, outversion, boot_cpuid_phys); if (streq(outname, "-")) { outf = stdout; @@ -237,8 +237,8 @@ struct boot_info *build_boot_info(struct reserve_info *reservelist, /* Checks */ -void process_checks(int force, struct node *dt); -int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys); +void process_checks(int force, struct boot_info *bi, + int checkflag, int outversion, int boot_cpuid_phys); /* Flattened trees */ |