fs_config: move sort to be consistent with other sort

Test: Checked diff and hash of before and after output files, same.
Test: Tested build for basic boot and functionality.
Change-Id: If7806427e3a2a9ddb7a2c9aa14e1e4f9bf696acf
Signed-off-by: William Roberts <william.c.roberts@intel.com>
diff --git a/tools/fs_config/fs_config_generator.py b/tools/fs_config/fs_config_generator.py
index 482c2bc..6a16fea 100755
--- a/tools/fs_config/fs_config_generator.py
+++ b/tools/fs_config/fs_config_generator.py
@@ -183,8 +183,6 @@
     are_aids = len(aids) > 0
 
     if are_aids:
-        # sort on value of (file_name, name, value, strvalue)
-        aids.sort(key=lambda x: x[2])
         for a in aids:
             # use the preserved str value
             print FILE_COMMENT % a[0]
@@ -272,7 +270,24 @@
     for x in sys.argv[1:]:
         parse(x, files, dirs, aids, seen_paths, seen_aids)
 
+    # sort entries:
+    # * specified path before prefix match
+    # ** ie foo before f*
+    # * lexicographical less than before other
+    # ** ie boo before foo
+    # Given these paths:
+    # paths=['ac', 'a', 'acd', 'an', 'a*', 'aa', 'ac*']
+    # The sort order would be:
+    # paths=['a', 'aa', 'ac', 'acd', 'an', 'ac*', 'a*']
+    # Thus the fs_config tools will match on specified paths before attempting
+    # prefix, and match on the longest matching prefix.
     files.sort(key= lambda x: file_key(x[1]))
+
+    # sort on value of (file_name, name, value, strvalue)
+    # This is only cosmetic so AIDS are arranged in ascending order
+    # within the generated file.
+    aids.sort(key=lambda x: x[2])
+
     generate(files, dirs, aids)
 
 if __name__ == '__main__':