The kernel-doc script does some pre-processing on structure
definitions before parsing for names. Teach it about QLIST and replace
with simplified structures representing the base type.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
scripts/kernel-doc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 240923d509a..26c47562e79 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1226,7 +1226,14 @@ sub dump_struct($$) {
# replace DECLARE_KFIFO_PTR
$members =~ s/DECLARE_KFIFO_PTR\s*\(([^,)]+),\s*([^,)]+)\)/$2 \*$1/gos;
- my $declaration = $members;
+ # QEMU Specific Macros
+
+ # replace QLIST_ENTRY with base type and variable name
+ $members =~ s/QLIST_ENTRY\(([^)]+)\)\s+([^;]+)/$1 \*$2/gos;
+ # replace QLIST_HEAD, optionally capturing an anonymous struct marker,
and capture type and variable name
+ $members =~ s/QLIST_HEAD\(\s*,\s*([^)]+)\)\s+([^;]+)/struct { $1
*lh_first; } $2/gos;
+
+ my $declaration = $members;