Lines Matching refs:disp

113 static int value_add(struct display_info *disp, struct value_node **headp,  in value_add()  argument
126 disp->types_inc |= type; in value_add()
128 disp->types_exc |= type; in value_add()
129 if (disp->types_inc & disp->types_exc & type) { in value_add()
232 static int display_fdt_by_regions(struct display_info *disp, const void *blob, in display_fdt_by_regions() argument
241 FILE *f = disp->fout; in display_fdt_by_regions()
247 if (disp->show_dts_version) in display_fdt_by_regions()
250 if (disp->header) { in display_fdt_by_regions()
277 if (disp->flags & FDT_REG_ADD_MEM_RSVMAP) { in display_fdt_by_regions()
318 show = in_region || disp->all; in display_fdt_by_regions()
319 if (show && disp->diff) in display_fdt_by_regions()
331 if (disp->show_addr) in display_fdt_by_regions()
333 if (disp->show_offset) in display_fdt_by_regions()
338 if (disp->colour) in display_fdt_by_regions()
367 if (disp->colour) in display_fdt_by_regions()
373 if (disp->list_strings) { in display_fdt_by_regions()
389 show = in_region || disp->all; in display_fdt_by_regions()
390 if (show && disp->diff) in display_fdt_by_regions()
392 if (disp->show_addr) in display_fdt_by_regions()
394 if (disp->show_offset) in display_fdt_by_regions()
428 static int dump_fdt_regions(struct display_info *disp, const void *blob, in dump_fdt_regions() argument
456 if (count > 0 && (disp->flags & FDT_REG_ADD_MEM_RSVMAP)) { in dump_fdt_regions()
463 if (count >= 2 && (disp->flags & FDT_REG_ADD_STRING_TAB)) { in dump_fdt_regions()
475 if (disp->header) { in dump_fdt_regions()
514 struct display_info *disp = priv; in check_type_include() local
520 if (!((disp->types_inc | disp->types_exc) & type)) { in check_type_include()
531 for (val = disp->value_head; val; val = val->next) { in check_type_include()
551 if ((type & disp->types_exc) && (none_match & type)) { in check_type_include()
557 if (type == FDT_IS_NODE && disp->types_exc == FDT_ANY_GLOBAL) { in check_type_include()
568 if (type == FDT_IS_NODE && disp->types_inc == FDT_ANY_GLOBAL) in check_type_include()
572 disp->types_inc, disp->types_exc, none_match); in check_type_include()
591 struct display_info *disp = priv; in h_include() local
595 if (disp->include_root && type == FDT_IS_PROP && offset == 0 && inc) in h_include()
610 (disp->types_inc & FDT_NODE_HAS_PROP)) { in h_include()
632 inc = !disp->invert; in h_include()
635 inc = disp->invert; in h_include()
653 struct display_info *disp, struct fdt_region *region, in fdtgrep_find_regions() argument
661 ret = fdt_first_region(fdt, include_func, disp, in fdtgrep_find_regions()
663 disp->flags, &state); in fdtgrep_find_regions()
665 ret = fdt_next_region(fdt, include_func, disp, in fdtgrep_find_regions()
667 path, path_len, disp->flags, &state); in fdtgrep_find_regions()
675 if (disp->add_aliases && count < max_regions) { in fdtgrep_find_regions()
777 static int do_fdtgrep(struct display_info *disp, const char *filename) in do_fdtgrep() argument
796 if (fdt_version(blob) < 17 && disp->value_head) { in do_fdtgrep()
816 h_include, disp, in do_fdtgrep()
818 disp->flags); in do_fdtgrep()
832 if (disp->region_list) in do_fdtgrep()
836 if (disp->output == OUT_DTS) { in do_fdtgrep()
837 ret = display_fdt_by_regions(disp, blob, region, count); in do_fdtgrep()
849 size = dump_fdt_regions(disp, blob, region, count, fdt); in do_fdtgrep()
850 if (disp->remove_strings) { in do_fdtgrep()
877 if (size != fwrite(fdt, 1, size, disp->fout)) { in do_fdtgrep()
1075 static void scan_args(struct display_info *disp, int argc, char *argv[]) in scan_args() argument
1086 disp->show_addr = 1; in scan_args()
1089 disp->all = 1; in scan_args()
1101 disp->diff = 1; in scan_args()
1104 disp->flags |= FDT_REG_DIRECT_SUBNODES; in scan_args()
1107 disp->show_offset = 1; in scan_args()
1116 disp->header = 1; in scan_args()
1119 disp->region_list = 1; in scan_args()
1122 disp->list_strings = 1; in scan_args()
1125 disp->flags |= FDT_REG_ADD_MEM_RSVMAP; in scan_args()
1134 disp->output_fname = optarg; in scan_args()
1138 disp->output = OUT_DTB; in scan_args()
1140 disp->output = OUT_DTS; in scan_args()
1142 disp->output = OUT_BIN; in scan_args()
1153 disp->remove_strings = 1; in scan_args()
1156 disp->include_root = 1; in scan_args()
1159 disp->flags |= FDT_REG_ALL_SUBNODES; in scan_args()
1162 disp->flags &= ~FDT_REG_SUPERNODES; in scan_args()
1165 disp->flags |= FDT_REG_ADD_STRING_TAB; in scan_args()
1168 disp->add_aliases = 1; in scan_args()
1171 disp->invert = 1; in scan_args()
1174 disp->show_dts_version = 1; in scan_args()
1178 if (type && value_add(disp, &disp->value_head, type, inc, in scan_args()
1183 if (disp->invert && disp->types_exc) in scan_args()
1190 struct display_info disp; in main() local
1194 memset(&disp, '\0', sizeof(disp)); in main()
1195 disp.flags = FDT_REG_SUPERNODES; /* Default flags */ in main()
1197 scan_args(&disp, argc, argv); in main()
1200 disp.colour = disp.all && isatty(0); in main()
1204 if (value_add(&disp, &disp.value_head, FDT_IS_ANY, 1, in main()
1215 if (disp.output == OUT_DTB) { in main()
1216 disp.header = 1; in main()
1217 disp.flags |= FDT_REG_ADD_MEM_RSVMAP | FDT_REG_ADD_STRING_TAB; in main()
1220 if (disp.output_fname) { in main()
1221 disp.fout = fopen(disp.output_fname, "w"); in main()
1222 if (!disp.fout) in main()
1225 disp.fout = stdout; in main()
1229 ret = do_fdtgrep(&disp, filename); in main()
1230 if (disp.output_fname) in main()
1231 fclose(disp.fout); in main()