diff options
| author | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2025-12-16 15:26:17 +0100 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2025-12-22 14:43:25 -0700 |
| commit | aaacd70fb77afe75075e8bdf8e493b0af42eeabd (patch) | |
| tree | 95566c9ceee76d92fd46a5d73ebbbbe6ac96df55 | |
| parent | b580fa304c858e35020f02ed733fa1108fa6de48 (diff) | |
docs: kernel-doc.rst: Parse DEFINE_ macros without prefixes
Currently, the logic for vars require a
type DEFINE_foo();
where type is usually "static".
Make the logic more generic.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/linux-doc/e1dad7e4-a0ca-4be6-a33c-97b75175c12f@infradead.org/
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <be16e087cbc065fbd041fb6d6f8fa5cf0426cca5.1765894964.git.mchehab+huawei@kernel.org>
| -rw-r--r-- | tools/lib/python/kdoc/kdoc_parser.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/tools/lib/python/kdoc/kdoc_parser.py b/tools/lib/python/kdoc/kdoc_parser.py index aaa352855717..e137bd9a7dac 100644 --- a/tools/lib/python/kdoc/kdoc_parser.py +++ b/tools/lib/python/kdoc/kdoc_parser.py @@ -977,17 +977,23 @@ class KernelDoc: # Variable name is at the end of the declaration # + default_val = None + r= KernRe(OPTIONAL_VAR_ATTR + r"\w.*\s+(?:\*+)?([\w_]+)\s*[\d\]\[]*\s*(=.*)?") - if not r.match(proto): - self.emit_msg(ln,f"{proto}: can't parse variable") - return + if r.match(proto): + if not declaration_name: + declaration_name = r.group(1) - var_type = r.group(0) + default_val = r.group(2) + else: + r= KernRe(OPTIONAL_VAR_ATTR + r"(?:\w.*)?\s+(?:\*+)?(?:[\w_]+)\s*[\d\]\[]*\s*(=.*)?") + if r.match(proto): + default_val = r.group(1) if not declaration_name: - declaration_name = r.group(1) + self.emit_msg(ln,f"{proto}: can't parse variable") + return - default_val = r.group(2) if default_val: default_val = default_val.lstrip("=").strip() |
