Thread (15 messages) 15 messages, 4 authors, 2021-03-20

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

From: Markus Heiser <hidden>
Date: 2021-03-09 13:39:12
Also in: linux-kernel-mentees, lkml

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 --
quoted hunk ↗ jump to hunk
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@gmail.com>
Signed-off-by: Aditya Srivastava <redacted>
---
  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, $_);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help