Commit 134fe01bfafa74e691d84bf15666fb30e89896ff

Authored by Randy Dunlap
Committed by Linus Torvalds
1 parent 01b2d93ca4

[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

... ... @@ -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;