summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-10-13 17:20:54 +0100
committerMark Brown <broonie@kernel.org>2026-10-13 17:20:54 +0100
commite103a8877494a33ae670f1a28f2d19ee30634a5b (patch)
tree6597ac202379ff61ccfbaa8a59f7d690b3406f95 /tools/lib/python
parentdf7fff94c20a6c685242f002e6f5f01121a78362 (diff)
parent8fdbd353e6928492fdc46c359aabd2bfb7630fba (diff)
downloadlinux-next-e103a8877494a33ae670f1a28f2d19ee30634a5b.tar.gz
linux-next-e103a8877494a33ae670f1a28f2d19ee30634a5b.zip
Merge branch 'docs-next' of git://git.lwn.net/linux.git
Diffstat (limited to 'tools/lib/python')
-rw-r--r--tools/lib/python/kdoc/c_lex.py2
-rw-r--r--tools/lib/python/kdoc/kdoc_parser.py11
-rw-r--r--tools/lib/python/kdoc/xforms_lists.py3
3 files changed, 10 insertions, 6 deletions
diff --git a/tools/lib/python/kdoc/c_lex.py b/tools/lib/python/kdoc/c_lex.py
index cb95f5172448..efbc23c01abd 100644
--- a/tools/lib/python/kdoc/c_lex.py
+++ b/tools/lib/python/kdoc/c_lex.py
@@ -68,7 +68,7 @@ class CToken():
MISMATCH = 255 #: an error indicator: should never happen in practice.
- # Dict to convert from an enum interger into a string.
+ # Dict to convert from an enum integer into a string.
_name_by_val = {v: k for k, v in dict(vars()).items() if isinstance(v, int)}
# Dict to convert from string to an enum-like integer value.
diff --git a/tools/lib/python/kdoc/kdoc_parser.py b/tools/lib/python/kdoc/kdoc_parser.py
index d9ad1ddc87dd..80d4245acd17 100644
--- a/tools/lib/python/kdoc/kdoc_parser.py
+++ b/tools/lib/python/kdoc/kdoc_parser.py
@@ -831,6 +831,13 @@ class KernelDoc:
#
source = source
proto = trim_private_members(proto)
+
+ #
+ # Expand macro-based declarations, like context_lock_struct(),
+ # into a plain struct/union declaration before splitting it,
+ # as dump_var() and dump_function() already do.
+ #
+ proto = self.xforms.apply("struct", proto)
struct_parts = self.split_struct_proto(proto)
if not struct_parts:
self.emit_msg(ln, f"{proto} error: Cannot parse struct or union!")
@@ -841,10 +848,6 @@ class KernelDoc:
self.emit_msg(ln, f"expecting prototype for {decl_type} {self.entry.identifier}. "
f"Prototype was for {decl_type} {declaration_name} instead")
return
- #
- # Go through the list of members applying all of our transformations.
- #
- members = self.xforms.apply("struct", members)
#
# Deal with embedded struct and union members, and drop enums entirely.
diff --git a/tools/lib/python/kdoc/xforms_lists.py b/tools/lib/python/kdoc/xforms_lists.py
index e3dda2fe8a53..15f6f21c7a9e 100644
--- a/tools/lib/python/kdoc/xforms_lists.py
+++ b/tools/lib/python/kdoc/xforms_lists.py
@@ -53,7 +53,7 @@ class CTransforms:
(CMatch("__attribute__"), ""),
#
- # Macro __struct_group() creates an union with an anonymous
+ # Macro __struct_group() creates a union with an anonymous
# and a non-anonymous struct, depending on the parameters. We only
# need one of those at kernel-doc, as we won't be documenting the same
# members twice.
@@ -62,6 +62,7 @@ class CTransforms:
(CMatch("struct_group_attr"), r"struct { \3+ };"),
(CMatch("struct_group_tagged"), r"struct { \3+ };"),
(CMatch("__struct_group"), r"struct { \4+ };"),
+ (CMatch("context_lock_struct"), r"struct \1"),
]
#: Transforms for function prototypes.