summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2026-03-02 17:41:01 +0100
committerJonathan Corbet <corbet@lwn.net>2026-03-03 10:47:25 -0700
commit85c2a51357f720fabfb6fa8d2551d87a94e797cb (patch)
tree2c3a0510b142cb1f0cb9707ef986309c193295a4 /tools/lib/python/kdoc
parentfc44c0a0b2a72f2e9331063a311a548634ae18af (diff)
docs: kdoc_parser: move nested match transforms to xforms_lists.py
As NestedMatch now has a sub method and a declaration close to what KernRe does, we can move the rules to xforms_lists and simplify kdoc_parser a little bit. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <762ce2a58ff024c1b0b6f6a6e05020d1415b8308.1772469446.git.mchehab+huawei@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc')
-rw-r--r--tools/lib/python/kdoc/kdoc_parser.py21
-rw-r--r--tools/lib/python/kdoc/xforms_lists.py14
2 files changed, 13 insertions, 22 deletions
diff --git a/tools/lib/python/kdoc/kdoc_parser.py b/tools/lib/python/kdoc/kdoc_parser.py
index cd9857906a2b..edf70ba139a5 100644
--- a/tools/lib/python/kdoc/kdoc_parser.py
+++ b/tools/lib/python/kdoc/kdoc_parser.py
@@ -70,25 +70,6 @@ doc_begin_func = KernRe(str(doc_com) + # initial " * '
cache = False)
#
-# Regexes here are guaranteed to have the end delimiter matching
-# the start delimiter. Yet, right now, only one replace group
-# is allowed.
-#
-struct_nested_prefixes = [
- (NestedMatch(r"__cond_acquires\s*\("), ""),
- (NestedMatch(r"__cond_releases\s*\("), ""),
- (NestedMatch(r"__acquires\s*\("), ""),
- (NestedMatch(r"__releases\s*\("), ""),
- (NestedMatch(r"__must_hold\s*\("), ""),
- (NestedMatch(r"__must_not_hold\s*\("), ""),
- (NestedMatch(r"__must_hold_shared\s*\("), ""),
- (NestedMatch(r"__cond_acquires_shared\s*\("), ""),
- (NestedMatch(r"__acquires_shared\s*\("), ""),
- (NestedMatch(r"__releases_shared\s*\("), ""),
- (NestedMatch(r'\bSTRUCT_GROUP\('), r'\0'),
-]
-
-#
# Ancillary functions
#
@@ -761,8 +742,6 @@ class KernelDoc:
members = trim_private_members(members)
members = self.xforms.apply("struct", members)
- for search, sub in struct_nested_prefixes:
- members = search.sub(search, sub, 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 1bda7c4634c3..c07cbe1e6349 100644
--- a/tools/lib/python/kdoc/xforms_lists.py
+++ b/tools/lib/python/kdoc/xforms_lists.py
@@ -4,7 +4,7 @@
import re
-from kdoc.kdoc_re import KernRe
+from kdoc.kdoc_re import KernRe, NestedMatch
struct_args_pattern = r'([^,)]+)'
@@ -94,6 +94,18 @@ class CTransforms:
(KernRe(r'DEFINE_DMA_UNMAP_ADDR\s*\(' + struct_args_pattern + r'\)', re.S), r'dma_addr_t \1'),
(KernRe(r'DEFINE_DMA_UNMAP_LEN\s*\(' + struct_args_pattern + r'\)', re.S), r'__u32 \1'),
(KernRe(r'VIRTIO_DECLARE_FEATURES\(([\w_]+)\)'), r'union { u64 \1; u64 \1_array[VIRTIO_FEATURES_U64S]; }'),
+
+ (NestedMatch(r"__cond_acquires\s*\("), ""),
+ (NestedMatch(r"__cond_releases\s*\("), ""),
+ (NestedMatch(r"__acquires\s*\("), ""),
+ (NestedMatch(r"__releases\s*\("), ""),
+ (NestedMatch(r"__must_hold\s*\("), ""),
+ (NestedMatch(r"__must_not_hold\s*\("), ""),
+ (NestedMatch(r"__must_hold_shared\s*\("), ""),
+ (NestedMatch(r"__cond_acquires_shared\s*\("), ""),
+ (NestedMatch(r"__acquires_shared\s*\("), ""),
+ (NestedMatch(r"__releases_shared\s*\("), ""),
+ (NestedMatch(r'\bSTRUCT_GROUP\('), r'\0'),
]
#: Transforms for function prototypes.