mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 14:14:24 +08:00
scripts: kernel-doc: apply filtering rules to warnings
When kernel-doc is called with output selection filters, it will be called lots of time for a single file. If there is a warning present there, it means that it may print hundreds of identical warnings. Worse than that, the -function NAME actually filters only functions. So, it makes no sense at all to print warnings for structs or enums. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
84ce5b9877
commit
2defb27292
@ -1160,16 +1160,26 @@ sub dump_enum($$) {
|
||||
push @parameterlist, $arg;
|
||||
if (!$parameterdescs{$arg}) {
|
||||
$parameterdescs{$arg} = $undescribed;
|
||||
print STDERR "${file}:$.: warning: Enum value '$arg' ".
|
||||
"not described in enum '$declaration_name'\n";
|
||||
if (($output_selection == OUTPUT_ALL) ||
|
||||
($output_selection == OUTPUT_INCLUDE &&
|
||||
defined($function_table{$declaration_name})) ||
|
||||
($output_selection == OUTPUT_EXCLUDE &&
|
||||
!defined($function_table{$declaration_name}))) {
|
||||
print STDERR "${file}:$.: warning: Enum value '$arg' not described in enum '$declaration_name'\n";
|
||||
}
|
||||
}
|
||||
$_members{$arg} = 1;
|
||||
}
|
||||
|
||||
while (my ($k, $v) = each %parameterdescs) {
|
||||
if (!exists($_members{$k})) {
|
||||
print STDERR "${file}:$.: warning: Excess enum value " .
|
||||
"'$k' description in '$declaration_name'\n";
|
||||
if (($output_selection == OUTPUT_ALL) ||
|
||||
($output_selection == OUTPUT_INCLUDE &&
|
||||
defined($function_table{$declaration_name})) ||
|
||||
($output_selection == OUTPUT_EXCLUDE &&
|
||||
!defined($function_table{$declaration_name}))) {
|
||||
print STDERR "${file}:$.: warning: Excess enum value '$k' description in '$declaration_name'\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1375,9 +1385,15 @@ sub push_parameter($$$$) {
|
||||
if (!defined $parameterdescs{$param} && $param !~ /^#/) {
|
||||
$parameterdescs{$param} = $undescribed;
|
||||
|
||||
print STDERR
|
||||
"${file}:$.: warning: Function parameter or member '$param' not described in '$declaration_name'\n";
|
||||
++$warnings;
|
||||
if (($output_selection == OUTPUT_ALL) ||
|
||||
($output_selection == OUTPUT_INCLUDE &&
|
||||
defined($function_table{$declaration_name})) ||
|
||||
($output_selection == OUTPUT_EXCLUDE &&
|
||||
!defined($function_table{$declaration_name}))) {
|
||||
print STDERR
|
||||
"${file}:$.: warning: Function parameter or member '$param' not described in '$declaration_name'\n";
|
||||
++$warnings;
|
||||
}
|
||||
}
|
||||
|
||||
$param = xml_escape($param);
|
||||
|
Loading…
Reference in New Issue
Block a user