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.
Showing the changes to scripts/kernel-doc (1 of 1 file). Show all
Unified · Split
| @@ -1469,6 +1469,7 @@ sub push_parameter($$$) { · 1468 unmodified lines | ||
| 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/\[.*//; |
| @@ -1484,9 +1485,20 @@ sub push_parameter($$$) { · 9 unmodified lines | ||
| 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; |
| @@ -1500,6 +1512,7 @@ sub push_parameter($$$) { · 7 unmodified lines | ||
| 1500 | 1512 | " No description found for parameter '$param'\n"; |
| 1501 | 1513 | ++$warnings; |
| 1502 | 1514 | } |
| 1515 | + } | |
| 1503 | 1516 | |
| 1504 | 1517 | push @parameterlist, $param; |
| 1505 | 1518 | $parametertypes{$param} = $type; |