[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 <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
01b2d93ca4
commit
134fe01bfa
@ -1469,6 +1469,7 @@ sub push_parameter($$$) {
|
|||||||
my $param = shift;
|
my $param = shift;
|
||||||
my $type = shift;
|
my $type = shift;
|
||||||
my $file = shift;
|
my $file = shift;
|
||||||
|
my $anon = 0;
|
||||||
|
|
||||||
my $param_name = $param;
|
my $param_name = $param;
|
||||||
$param_name =~ s/\[.*//;
|
$param_name =~ s/\[.*//;
|
||||||
@ -1484,9 +1485,20 @@ sub push_parameter($$$) {
|
|||||||
$param="void";
|
$param="void";
|
||||||
$parameterdescs{void} = "no arguments";
|
$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
|
# warn if parameter has no description
|
||||||
# (but ignore ones starting with # as these are no parameters
|
# (but ignore ones starting with # as these are not parameters
|
||||||
# but inline preprocessor statements
|
# but inline preprocessor statements);
|
||||||
|
# also ignore unnamed structs/unions;
|
||||||
|
if (!$anon) {
|
||||||
if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) {
|
if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) {
|
||||||
|
|
||||||
$parameterdescs{$param_name} = $undescribed;
|
$parameterdescs{$param_name} = $undescribed;
|
||||||
@ -1500,6 +1512,7 @@ sub push_parameter($$$) {
|
|||||||
" No description found for parameter '$param'\n";
|
" No description found for parameter '$param'\n";
|
||||||
++$warnings;
|
++$warnings;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
push @parameterlist, $param;
|
push @parameterlist, $param;
|
||||||
$parametertypes{$param} = $type;
|
$parametertypes{$param} = $type;
|
||||||
|
Loading…
Reference in New Issue
Block a user