summaryrefslogtreecommitdiff
path: root/scripts/lib/kdoc/kdoc_parser.py
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2025-04-08 18:09:31 +0800
committerJonathan Corbet <corbet@lwn.net>2025-04-09 12:10:34 -0600
commit11afeab6d74d1be80420b47113c4893c88dcc04b (patch)
tree60191a596a164a53274637ccba436f65eade50d2 /scripts/lib/kdoc/kdoc_parser.py
parente4b2bd908c3d8f071d4fac6e588fffc6110c1b1f (diff)
scripts/kernel-doc.py: Properly handle Werror and exit codes
The original kernel-doc script has a logic to return warnings as errors, and to report the number of warnings found, if in verbose mode. Implement it to be fully compatible with the original script. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/de33b0cebd9fdf82d8b221bcfe41db7269286222.1744106242.git.mchehab+huawei@kernel.org
Diffstat (limited to 'scripts/lib/kdoc/kdoc_parser.py')
-rwxr-xr-xscripts/lib/kdoc/kdoc_parser.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/scripts/lib/kdoc/kdoc_parser.py b/scripts/lib/kdoc/kdoc_parser.py
index 77e8bfeccc8e..43e6ffbdcc2c 100755
--- a/scripts/lib/kdoc/kdoc_parser.py
+++ b/scripts/lib/kdoc/kdoc_parser.py
@@ -137,17 +137,18 @@ class KernelDoc:
log_msg = f"{self.fname}:{ln} {msg}"
+ if not warning:
+ self.config.log.info(log_msg)
+ return
+
if self.entry:
# Delegate warning output to output logic, as this way it
# will report warnings/info only for symbols that are output
- self.entry.warnings.append((warning, log_msg))
+ self.entry.warnings.append(log_msg)
return
- if warning:
- self.config.log.warning(log_msg)
- else:
- self.config.log.info(log_msg)
+ self.config.log.warning(log_msg)
def dump_section(self, start_new=True):
"""
@@ -556,7 +557,6 @@ class KernelDoc:
if not members:
self.emit_warning(ln, f"{proto} error: Cannot parse struct or union!")
- self.config.errors += 1
return
if self.entry.identifier != declaration_name:
@@ -831,7 +831,6 @@ class KernelDoc:
if not members:
self.emit_warning(ln, f"{proto}: error: Cannot parse enum!")
- self.config.errors += 1
return
if self.entry.identifier != declaration_name:
@@ -1132,7 +1131,6 @@ class KernelDoc:
return
self.emit_warning(ln, "error: Cannot parse typedef!")
- self.config.errors += 1
@staticmethod
def process_export(function_table, line):
@@ -1677,4 +1675,3 @@ class KernelDoc:
self.process_docblock(ln, line)
except OSError:
self.config.log.error(f"Error: Cannot open file {self.fname}")
- self.config.errors += 1