@samitouri / QOSamiQemu / commits / e7bd7f83b6

scripts/modinfo: add type annotations

Type annotations allow easier code reading, refactoring, checking etc. Reviewed-by: Yodel Eldar <yodel.eldar@yodel.dev> Tested-by: Yodel Eldar <yodel.eldar@yodel.dev> Acked-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Marc-André Lureau committed Jan 20, 2026 at 11:21 UTC e7bd7f83b642092b687077bf73bb8504b13ab7aa
1 file changed +8 -6
scripts/modinfo-generate.py
+8 -6
@@ -2,14 +2,16 @@
2
3 import os
4 import sys
5 +from typing import Optional
6
6 -def print_array(name, values):
7 +
8 +def print_array(name: str, values: list[str]) -> None:
9 if len(values) == 0:
10 return
11 list = ", ".join(values)
12 print(" .%s = ((const char*[]){ %s, NULL })," % (name, list))
13
12 -def parse_line(line):
14 +def parse_line(line: str) -> tuple[str, str]:
15 kind = ""
16 data = ""
17 get_kind = False
@@ -31,7 +33,7 @@ def parse_line(line):
33 continue
34 return (kind, data)
35
34 -def generate(name, lines, enabled):
36 +def generate(name: str, lines: list[str], enabled: set[str]) -> Optional[set[str]]:
37 arch = ""
38 objs = []
39 deps = []
@@ -68,17 +70,17 @@ def generate(name, lines, enabled):
70 print("},{")
71 return {dep.strip('" ') for dep in deps}
72
71 -def print_pre():
73 +def print_pre() -> None:
74 print("/* generated by scripts/modinfo-generate.py */")
75 print("#include \"qemu/osdep.h\"")
76 print("#include \"qemu/module.h\"")
77 print("const QemuModinfo qemu_modinfo[] = {{")
78
77 -def print_post():
79 +def print_post() -> None:
80 print(" /* end of list */")
81 print("}};")
82
81 -def main(args):
83 +def main(args: list[str]) -> None:
84 if len(args) < 3 or args[0] != '--devices':
85 print('Expected: modinfo-generate.py --devices '
86 'config-device.mak [modinfo files]', file=sys.stderr)