From dee36c74ea39f3b9160759b850a22d53222ab4ce Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Mon, 10 Jul 2017 14:47:46 -0600
Subject: [PATCH] moveconfig: Tidy up imply flag parsing

Add an option to specify 'all' to enable all flags. Also print an error
if an unrecognised flag is used. At present it just prints usage
information which is not very helpful.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 tools/moveconfig.py | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index eb4927f278e..4fd9387c844 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -1886,14 +1886,21 @@ def main():
 
     if options.imply:
         imply_flags = 0
-        for flag in options.imply_flags.split():
-            if flag == 'help' or flag not in IMPLY_FLAGS:
-                print "Imply flags: (separate with ',')"
-                for name, info in IMPLY_FLAGS.iteritems():
-                    print ' %-15s: %s' % (name, info[1])
-                parser.print_usage()
-                sys.exit(1)
-            imply_flags |= IMPLY_FLAGS[flag][0]
+        if options.imply_flags == 'all':
+            imply_flags = -1
+
+        elif options.imply_flags:
+            for flag in options.imply_flags.split(','):
+                bad = flag not in IMPLY_FLAGS
+                if bad:
+                    print "Invalid flag '%s'" % flag
+                if flag == 'help' or bad:
+                    print "Imply flags: (separate with ',')"
+                    for name, info in IMPLY_FLAGS.iteritems():
+                        print ' %-15s: %s' % (name, info[1])
+                    parser.print_usage()
+                    sys.exit(1)
+                imply_flags |= IMPLY_FLAGS[flag][0]
 
         do_imply_config(configs, options.add_imply, imply_flags,
                         options.skip_added)
-- 
GitLab