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)