Re: [RFC] scripts: kernel-doc: avoid warnings due to initial commented lines in file

From: Markus Heiser
Date: Tue Mar 09 2021 - 08:39:11 EST



Am 09.03.21 um 13:53 schrieb Aditya Srivastava:
Starting commented lines in a file mostly contains comments describing
license, copyright or general information about the file.

E.g., in sound/pci/ctxfi/ctresource.c, initial comment lines describe
its copyright and other related file informations.

The opening comment mark /** is used for kernel-doc comments [1]

[1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#how-to-format-kernel-doc-comments

-- Markus --


But as kernel-doc reads these lines, it results in ineffective warnings by
kernel-doc, related to these.

Provide a simple fix by skipping first three lines in a file for checking
kernel-doc comments.

Suggested-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx>
Signed-off-by: Aditya Srivastava <yashsri421@xxxxxxxxx>
---
scripts/kernel-doc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index e1e562b2e2e7..431add05248e 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -2375,6 +2375,7 @@ sub process_file($) {
my $file;
my $initial_section_counter = $section_counter;
my ($orig_file) = @_;
+ my $lineno = 0; # to maintain the count of line number in a file
$file = map_filename($orig_file);
@@ -2388,13 +2389,16 @@ sub process_file($) {
$section_counter = 0;
while (<IN_FILE>) {
+ $lineno++;
while (s/\\\s*$//) {
$_ .= <IN_FILE>;
+ $lineno++;
}
# Replace tabs by spaces
while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
# Hand this line to the appropriate state handler
- if ($state == STATE_NORMAL) {
+ if ($state == STATE_NORMAL
+ && $lineno > 3) { # to avoid starting comment lines describing the file
process_normal();
} elsif ($state == STATE_NAME) {
process_name($file, $_);