qconfig: Move converting config args to the top

Move this check to the top, so it happens always. There is no harm to
doing this earlier and it separates the setup from actual program logic.

Update the arg rather than adding a new variable, with the new variable
only created when moving or building, since it is used more heavily.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/qconfig.py b/tools/qconfig.py
index 832e524..a33fb2a 100755
--- a/tools/qconfig.py
+++ b/tools/qconfig.py
@@ -1531,6 +1531,9 @@
 
     check_top_directory()
 
+    # prefix the option name with CONFIG_ if missing
+    args.configs = [prefix_config(cfg) for cfg in args.configs]
+
     if args.test:
         sys.argv = [sys.argv[0]]
         fail, _ = doctest.testmod()
@@ -1542,9 +1545,6 @@
         do_scan_source(os.getcwd(), args.update)
         return 0
 
-    # prefix the option name with CONFIG_ if missing
-    configs = [prefix_config(cfg) for cfg in args.configs]
-
     if args.imply:
         imply_flags = 0
         if args.imply_flags == 'all':
@@ -1563,11 +1563,11 @@
                     sys.exit(1)
                 imply_flags |= IMPLY_FLAGS[flag][0]
 
-        do_imply_config(configs, args.add_imply, imply_flags, args.skip_added)
+        do_imply_config(args.configs, args.add_imply, imply_flags, args.skip_added)
         return 0
 
     if args.find:
-        do_find_config(configs)
+        do_find_config(args.configs)
         return 0
 
     # We are either building the database or forcing a sync of defconfigs
@@ -1588,6 +1588,7 @@
     progress = move_config(toolchains, args, db_queue, col)
     db_queue.join()
 
+    configs = args.configs
     if args.commit:
         subprocess.call(['git', 'add', '-u'])
         if configs: