dtoc: Move the main logic into the dtb_platdata file

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 <sjg@chromium.org>
diff --git a/tools/dtoc/dtoc.py b/tools/dtoc/dtoc.py
index 1f17ea4..140a19e 100755
--- a/tools/dtoc/dtoc.py
+++ b/tools/dtoc/dtoc.py
@@ -49,20 +49,5 @@
                   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)