docs: Kconfig/Makefile: add a check for broken ABI files
The files under Documentation/ABI should follow the syntax as defined at Documentation/ABI/README. Allow checking if they're following the syntax by running the ABI parser script on COMPILE_TEST. With that, when there's a problem with a file under Documentation/ABI, it would produce a warning like: Warning: file ./Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats#14: What '/sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_cor' doesn't have a description Warning: file ./Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats#21: What '/sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_fatal' doesn't have a description Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/57a38de85cb4b548857207cf1fc1bf1ee08613c9.1604042072.git.mchehab+huawei@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
50865d041e
commit
75442fb0cc
@@ -50,7 +50,15 @@ my %symbols;
|
||||
sub parse_error($$$$) {
|
||||
my ($file, $ln, $msg, $data) = @_;
|
||||
|
||||
print STDERR "file $file#$ln: $msg at\n\t$data";
|
||||
$data =~ s/\s+$/\n/;
|
||||
|
||||
print STDERR "Warning: file $file#$ln:\n\t$msg";
|
||||
|
||||
if ($data ne "") {
|
||||
print STDERR ". Line\n\t\t$data";
|
||||
} else {
|
||||
print STDERR "\n";
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
@@ -110,7 +118,7 @@ sub parse_abi {
|
||||
|
||||
# Invalid, but it is a common mistake
|
||||
if ($new_tag eq "where") {
|
||||
parse_error($file, $ln, "tag 'Where' is invalid. Should be 'What:' instead", $_);
|
||||
parse_error($file, $ln, "tag 'Where' is invalid. Should be 'What:' instead", "");
|
||||
$new_tag = "what";
|
||||
}
|
||||
|
||||
@@ -225,7 +233,7 @@ sub parse_abi {
|
||||
}
|
||||
|
||||
# Everything else is error
|
||||
parse_error($file, $ln, "Unexpected line:", $_);
|
||||
parse_error($file, $ln, "Unexpected content", $_);
|
||||
}
|
||||
$data{$nametag}->{description} =~ s/^\n+// if ($data{$nametag}->{description});
|
||||
if ($what) {
|
||||
|
Reference in New Issue
Block a user