On 23/01/2026 07:49, [email protected] wrote:
From: Marc-André Lureau <[email protected]>
This will allow to tweak argument handling more easily next.
Signed-off-by: Marc-André Lureau <[email protected]>
---
scripts/modinfo-generate.py | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/scripts/modinfo-generate.py b/scripts/modinfo-generate.py
index 8011c842caf..777d419aa33 100644
--- a/scripts/modinfo-generate.py
+++ b/scripts/modinfo-generate.py
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
+import argparse
import os
import sys
from typing import Optional
@@ -79,24 +80,28 @@ def print_post() -> None:
print(" /* end of list */")
print("}};")
-def main(args: list[str]) -> None:
- if len(args) < 3 or args[0] != '--devices':
- print('Expected: modinfo-generate.py --devices '
- 'config-device.mak [modinfo files]', file=sys.stderr)
- exit(1)
+def main() -> None:
+ parser = argparse.ArgumentParser(
+ description='Generate C code for QEMU module info'
+ )
+ parser.add_argument('--devices', required=True,
+ help='path to config-device.mak')
+ parser.add_argument('modinfo', nargs='+',
+ help='modinfo files to process')
+ args = parser.parse_args()
# get all devices enabled in kconfig, from *-config-device.mak
enabled = set()
- with open(args[1]) as file:
+ with open(args.devices) as file:
for line in file.readlines():
config = line.split('=')
if config[1].rstrip() == 'y':
- enabled.add(config[0][7:]) # remove CONFIG_
+ enabled.add(config[0][7:]) # remove CONFIG_
deps = set()
modules = set()
print_pre()
- for modinfo in args[2:]:
+ for modinfo in args.modinfo:
with open(modinfo) as f:
lines = f.readlines()
print(f" /* {modinfo} */")
@@ -116,4 +121,4 @@ def main(args: list[str]) -> None:
exit(1)
if __name__ == "__main__":
- main(sys.argv[1:])
+ main()
Acked-by: Mark Cave-Ayland <[email protected]>
ATB,
Mark.