binman: Fix blank line usage for invalid images warning text

There is no blank line between last missing blob help message and the
header line for optional blob help messages.

  Image 'simple-bin' is missing external blobs and is non-functional: atf-bl31

  /binman/simple-bin/fit/images/@atf-SEQ/atf-bl31:
     See the documentation for your board. You may need to build ARM Trusted
     Firmware and build with BL31=/path/to/bl31.bin
  Image 'simple-bin' is missing external blobs but is still functional: tee-os

  /binman/simple-bin/fit/images/@tee-SEQ/tee-os:
     See the documentation for your board. You may need to build Open Portable
     Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin

  Some images are invalid

With this a blank line is inserted to make the text more readable.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/binman/control.py b/tools/binman/control.py
index af67947..94abea5 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -113,9 +113,10 @@
     return result
 
 def _ShowBlobHelp(level, path, text):
-    tout.do_output(level, '\n%s:' % path)
+    tout.do_output(level, '%s:' % path)
     for line in text.splitlines():
         tout.do_output(level, '   %s' % line)
+    tout.do_output(level, '')
 
 def _ShowHelpForMissingBlobs(level, missing_list):
     """Show help for each missing blob to help the user take action
@@ -658,7 +659,7 @@
     missing_list = []
     image.CheckMissing(missing_list)
     if missing_list:
-        tout.error("Image '%s' is missing external blobs and is non-functional: %s" %
+        tout.error("Image '%s' is missing external blobs and is non-functional: %s\n" %
                    (image.name, ' '.join([e.name for e in missing_list])))
         _ShowHelpForMissingBlobs(tout.ERROR, missing_list)
 
@@ -666,7 +667,7 @@
     image.CheckFakedBlobs(faked_list)
     if faked_list:
         tout.warning(
-            "Image '%s' has faked external blobs and is non-functional: %s" %
+            "Image '%s' has faked external blobs and is non-functional: %s\n" %
             (image.name, ' '.join([os.path.basename(e.GetDefaultFilename())
                                    for e in faked_list])))
 
@@ -674,7 +675,7 @@
     image.CheckOptional(optional_list)
     if optional_list:
         tout.warning(
-            "Image '%s' is missing optional external blobs but is still functional: %s" %
+            "Image '%s' is missing optional external blobs but is still functional: %s\n" %
             (image.name, ' '.join([e.name for e in optional_list])))
         _ShowHelpForMissingBlobs(tout.WARNING, optional_list)
 
@@ -682,7 +683,7 @@
     image.check_missing_bintools(missing_bintool_list)
     if missing_bintool_list:
         tout.warning(
-            "Image '%s' has missing bintools and is non-functional: %s" %
+            "Image '%s' has missing bintools and is non-functional: %s\n" %
             (image.name, ' '.join([os.path.basename(bintool.name)
                                    for bintool in missing_bintool_list])))
     return any([missing_list, faked_list, missing_bintool_list])
@@ -827,7 +828,7 @@
             # This can only be True if -M is provided, since otherwise binman
             # would have raised an error already
             if invalid:
-                msg = '\nSome images are invalid'
+                msg = 'Some images are invalid'
                 if args.ignore_missing:
                     tout.warning(msg)
                 else: