summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2025-12-16 15:26:17 +0100
committerJonathan Corbet <corbet@lwn.net>2025-12-22 14:43:25 -0700
commitaaacd70fb77afe75075e8bdf8e493b0af42eeabd (patch)
tree95566c9ceee76d92fd46a5d73ebbbbe6ac96df55
parentb580fa304c858e35020f02ed733fa1108fa6de48 (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.py18
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()