Commit 134fe01bfafa74e691d84bf15666fb30e89896ff
Committed by
Linus Torvalds
1 parent
01b2d93ca4
Exists in
master
and in
41 other branches
[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>
Showing 1 changed file with 15 additions and 2 deletions Side-by-side Diff
scripts/kernel-doc
... | ... | @@ -1469,6 +1469,7 @@ |
1469 | 1469 | my $param = shift; |
1470 | 1470 | my $type = shift; |
1471 | 1471 | my $file = shift; |
1472 | + my $anon = 0; | |
1472 | 1473 | |
1473 | 1474 | my $param_name = $param; |
1474 | 1475 | $param_name =~ s/\[.*//; |
1475 | 1476 | |
... | ... | @@ -1484,9 +1485,20 @@ |
1484 | 1485 | $param="void"; |
1485 | 1486 | $parameterdescs{void} = "no arguments"; |
1486 | 1487 | } |
1488 | + elsif ($type eq "" && ($param eq "struct" or $param eq "union")) | |
1489 | + # handle unnamed (anonymous) union or struct: | |
1490 | + { | |
1491 | + $type = $param; | |
1492 | + $param = "{unnamed_" . $param. "}"; | |
1493 | + $parameterdescs{$param} = "anonymous\n"; | |
1494 | + $anon = 1; | |
1495 | + } | |
1496 | + | |
1487 | 1497 | # warn if parameter has no description |
1488 | - # (but ignore ones starting with # as these are no parameters | |
1489 | - # but inline preprocessor statements | |
1498 | + # (but ignore ones starting with # as these are not parameters | |
1499 | + # but inline preprocessor statements); | |
1500 | + # also ignore unnamed structs/unions; | |
1501 | + if (!$anon) { | |
1490 | 1502 | if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) { |
1491 | 1503 | |
1492 | 1504 | $parameterdescs{$param_name} = $undescribed; |
... | ... | @@ -1499,6 +1511,7 @@ |
1499 | 1511 | print STDERR "Warning(${file}:$.):". |
1500 | 1512 | " No description found for parameter '$param'\n"; |
1501 | 1513 | ++$warnings; |
1514 | + } | |
1502 | 1515 | } |
1503 | 1516 | |
1504 | 1517 | push @parameterlist, $param; |