From: Randy Dunlap Date: Fri, 22 Dec 2006 09:10:50 +0000 (-0800) Subject: [PATCH] kernel-doc: allow unnamed structs/unions X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=134fe01bfafa74e691d84bf15666fb30e89896ff;p=openwrt%2Fstaging%2Fblogic.git [PATCH] kernel-doc: allow unnamed structs/unions Make kernel-doc support unnamed (anonymous) structs and unions. There is one (union) in include/linux/skbuff.h (inside struct sk_buff) that is currently generating a kernel-doc warning, so this fixes that warning. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/scripts/kernel-doc b/scripts/kernel-doc index df3b272f7ce6..f50a70f550b3 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1469,6 +1469,7 @@ sub push_parameter($$$) { my $param = shift; my $type = shift; my $file = shift; + my $anon = 0; my $param_name = $param; $param_name =~ s/\[.*//; @@ -1484,9 +1485,20 @@ sub push_parameter($$$) { $param="void"; $parameterdescs{void} = "no arguments"; } + elsif ($type eq "" && ($param eq "struct" or $param eq "union")) + # handle unnamed (anonymous) union or struct: + { + $type = $param; + $param = "{unnamed_" . $param. "}"; + $parameterdescs{$param} = "anonymous\n"; + $anon = 1; + } + # warn if parameter has no description - # (but ignore ones starting with # as these are no parameters - # but inline preprocessor statements + # (but ignore ones starting with # as these are not parameters + # but inline preprocessor statements); + # also ignore unnamed structs/unions; + if (!$anon) { if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) { $parameterdescs{$param_name} = $undescribed; @@ -1500,6 +1512,7 @@ sub push_parameter($$$) { " No description found for parameter '$param'\n"; ++$warnings; } + } push @parameterlist, $param; $parametertypes{$param} = $type;