dt: dt-extract-compatibles: Handle cfile arguments in generator function
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Mon, 28 Aug 2023 21:13:10 +0000 (17:13 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Dec 2023 17:45:03 +0000 (18:45 +0100)
[ Upstream commit eb2139fc0da63b89a2ad565ecd8133a37e8b7c4f ]

Move the handling of the cfile arguments to a separate generator
function to avoid redundancy.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20230828211424.2964562-2-nfraprado@collabora.com
Signed-off-by: Rob Herring <robh@kernel.org>
Stable-dep-of: 8f51593cdcab ("dt: dt-extract-compatibles: Don't follow symlinks when walking tree")
Signed-off-by: Sasha Levin <sashal@kernel.org>
scripts/dtc/dt-extract-compatibles

index 9df9f1f..2b6d228 100755 (executable)
@@ -49,6 +49,14 @@ def print_compat(filename, compatibles):
        else:
                print(*compatibles, sep='\n')
 
+def files_to_parse(path_args):
+       for f in path_args:
+               if os.path.isdir(f):
+                       for filename in glob.iglob(f + "/**/*.c", recursive=True):
+                               yield filename
+               else:
+                       yield f
+
 show_filename = False
 
 if __name__ == "__main__":
@@ -59,11 +67,6 @@ if __name__ == "__main__":
 
        show_filename = args.with_filename
 
-       for f in args.cfile:
-               if os.path.isdir(f):
-                       for filename in glob.iglob(f + "/**/*.c", recursive=True):
-                               compat_list = parse_compatibles(filename)
-                               print_compat(filename, compat_list)
-               else:
-                       compat_list = parse_compatibles(f)
-                       print_compat(f, compat_list)
+       for f in files_to_parse(args.cfile):
+               compat_list = parse_compatibles(f)
+               print_compat(f, compat_list)