Messages in this thread Patch in this message | | | From | conchur@web ... | Subject | [PATCH 3/3] kernel-doc: Strip #ifdef/#endif in enums | Date | Sun, 8 Nov 2015 10:49:22 +0100 |
| |
From: Conchúr Navid <conchur@web.de>
Some documented structures in the kernel use DECLARE_BITMAP to create arrays of unsigned longs to store information using the bitmap functions. These have to be replaced with a parsable version for kernel-doc.
For example a simple input like
/** * struct something - some test * @members: active members */ struct something { DECLARE_BITMAP(members, MAX_MEMBERS); };
resulted in parsing warnings like
warning: No description found for parameter 'MAX_MEMBERS)' warning: Excess struct/union/enum/typedef member 'members' description in 'something'
Signed-off-by: Conchúr Navid <conchur@web.de> --- scripts/kernel-doc | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index f5c2971..9015b18 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1816,6 +1816,8 @@ sub dump_struct($$) { $members =~ s/__attribute__\s*\(\([a-z,_\*\s\(\)]*\)\)//i; $members =~ s/__aligned\s*\([^;]*\)//gos; $members =~ s/\s*CRYPTO_MINALIGN_ATTR//gos; + # replace DECLARE_BITMAP + $members =~ s/DECLARE_BITMAP\s*\(([^,)]+), ([^,)]+)\)/unsigned long $1\[BITS_TO_LONGS($2)\]/gos; create_parameterlist($members, ';', $file); check_sections($file, $declaration_name, "struct", $sectcheck, $struct_actual, $nested); -- 2.6.2
| |