Collect the main logic of dtoc into a function and put it into dtb_platdata. This will allow tests to use this function instead of duplicating the code themselves.
Signed-off-by: Simon Glass <s...@chromium.org> --- tools/dtoc/dtb_platdata.py | 29 +++++++++++++++++++++++++++++ tools/dtoc/dtoc.py | 19 ++----------------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/tools/dtoc/dtb_platdata.py b/tools/dtoc/dtb_platdata.py index a1f32e164a..9923892dc3 100644 --- a/tools/dtoc/dtb_platdata.py +++ b/tools/dtoc/dtb_platdata.py @@ -422,3 +422,32 @@ class DtbPlatdata(object): nodes_to_output.remove(req_node) self.output_node(node) nodes_to_output.remove(node) + + +def run_steps(args, dtb_file, include_disabled, output): + """Run all the steps of the dtoc tool + + Args: + args: List of non-option arguments provided to the problem + dtb_file: Filename of dtb file to process + include_disabled: True to include disabled nodes + output: Name of output file + """ + if not args: + raise ValueError('Please specify a command: struct, platdata') + + plat = DtbPlatdata(dtb_file, include_disabled) + plat.scan_dtb() + plat.scan_tree() + plat.setup_output(output) + structs = plat.scan_structs() + plat.scan_phandles() + + for cmd in args[0].split(','): + if cmd == 'struct': + plat.generate_structs(structs) + elif cmd == 'platdata': + plat.generate_tables() + else: + raise ValueError("Unknown command '%s': (use: struct, platdata)" % + cmd) diff --git a/tools/dtoc/dtoc.py b/tools/dtoc/dtoc.py index 1f17ea47e0..140a19e9d4 100755 --- a/tools/dtoc/dtoc.py +++ b/tools/dtoc/dtoc.py @@ -49,20 +49,5 @@ parser.add_option('-o', '--output', action='store', default='-', help='Select output filename') (options, args) = parser.parse_args() -if not args: - raise ValueError('Please specify a command: struct, platdata') - -plat = dtb_platdata.DtbPlatdata(options.dtb_file, options.include_disabled) -plat.scan_dtb() -plat.scan_tree() -plat.setup_output(options.output) -structs = plat.scan_structs() -plat.scan_phandles() - -for cmd in args[0].split(','): - if cmd == 'struct': - plat.generate_structs(structs) - elif cmd == 'platdata': - plat.generate_tables() - else: - raise ValueError("Unknown command '%s': (use: struct, platdata)" % cmd) +dtb_platdata.run_steps(args, options.dtb_file, options.include_disabled, + options.output) -- 2.13.1.518.g3df882009-goog _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot