diff options
| author | Kyle Evans <kevans@FreeBSD.org> | 2020-02-14 18:46:34 +0000 |
|---|---|---|
| committer | Kyle Evans <kevans@FreeBSD.org> | 2020-02-14 18:46:34 +0000 |
| commit | aac4229aac3b59dedd160793faf21e18cf85bdfc (patch) | |
| tree | fe2bd9d2a7e7371c035e27d8e49f350726d6bce9 /usr.bin/dtc/dtc.cc | |
| parent | 4c3ccd967e6b9a6c157bd38410bdccd098bdb9e1 (diff) | |
Notes
Diffstat (limited to 'usr.bin/dtc/dtc.cc')
| -rw-r--r-- | usr.bin/dtc/dtc.cc | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/usr.bin/dtc/dtc.cc b/usr.bin/dtc/dtc.cc index b9423f486815..0cda698011ef 100644 --- a/usr.bin/dtc/dtc.cc +++ b/usr.bin/dtc/dtc.cc @@ -94,6 +94,8 @@ void version(const char* progname) } // Anonymous namespace using fdt::device_tree; +using fdt::tree_write_fn_ptr; +using fdt::tree_read_fn_ptr; int main(int argc, char **argv) @@ -104,8 +106,8 @@ main(int argc, char **argv) const char *in_file = "-"; FILE *depfile = 0; bool debug_mode = false; - auto write_fn = &device_tree::write_binary; - auto read_fn = &device_tree::parse_dts; + tree_write_fn_ptr write_fn = nullptr; + tree_read_fn_ptr read_fn = nullptr; uint32_t boot_cpu = 0; bool boot_cpu_specified = false; bool keep_going = false; @@ -135,6 +137,10 @@ main(int argc, char **argv) if (arg == "dtb") { read_fn = &device_tree::parse_dtb; + if (write_fn == nullptr) + { + write_fn = &device_tree::write_dts; + } } else if (arg == "dts") { @@ -161,6 +167,10 @@ main(int argc, char **argv) else if (arg == "dts") { write_fn = &device_tree::write_dts; + if (read_fn == nullptr) + { + read_fn = &device_tree::parse_dtb; + } } else { @@ -298,6 +308,14 @@ main(int argc, char **argv) return EXIT_FAILURE; } } + if (read_fn == nullptr) + { + read_fn = &device_tree::parse_dts; + } + if (write_fn == nullptr) + { + write_fn = &device_tree::write_binary; + } if (optind < argc) { in_file = argv[optind]; |
