scripts/kernel-doc.py: implement support for -no-doc-sections

The venerable kernel-doc Perl script has a number of options that
aren't properly documented. Among them, there is -no-doc-sections,
which is used by the Sphinx extension.

Implement support for it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/06b18a32142b44d5ba8b41ac64a76c02b03b4969.1744106242.git.mchehab+huawei@kernel.org
This commit is contained in:
Mauro Carvalho Chehab
2025-04-08 18:09:16 +08:00
committed by Jonathan Corbet
parent 799b0d2a2a
commit 0873e55433
3 changed files with 15 additions and 5 deletions

View File

@@ -239,10 +239,13 @@ def main():
sel_mut.add_argument("-s", "-function", "--symbol", action='append',
help=FUNCTION_DESC)
# This one is valid for all 3 types of filter
# Those are valid for all 3 types of filter
parser.add_argument("-n", "-nosymbol", "--nosymbol", action='append',
help=NOSYMBOL_DESC)
parser.add_argument("-D", "-no-doc-sections", "--no-doc-sections",
action='store_true', help="Don't outputt DOC sections")
parser.add_argument("files", metavar="FILE",
nargs="+", help=FILES_DESC)
@@ -284,7 +287,8 @@ def main():
for t in kfiles.msg(enable_lineno=args.enable_lineno, export=args.export,
internal=args.internal, symbol=args.symbol,
nosymbol=args.nosymbol):
nosymbol=args.nosymbol,
no_doc_sections=args.no_doc_sections):
msg = t[1]
if msg:
print(msg)

View File

@@ -238,7 +238,7 @@ class KernelFiles():
return self.out_style.msg(fname, name, arg)
def msg(self, enable_lineno=False, export=False, internal=False,
symbol=None, nosymbol=None):
symbol=None, nosymbol=None, no_doc_sections=False):
"""
Interacts over the kernel-doc results and output messages,
returning kernel-doc markups on each interaction
@@ -257,7 +257,8 @@ class KernelFiles():
self.out_style.set_config(self.config)
self.out_style.set_filter(export, internal, symbol, nosymbol,
function_table, enable_lineno)
function_table, enable_lineno,
no_doc_sections)
for fname, arg_tuple in self.results:
msg = ""

View File

@@ -70,6 +70,7 @@ class OutputFormat:
self.symbol = None
self.function_table = set()
self.config = None
self.no_doc_sections = False
self.data = ""
@@ -77,7 +78,7 @@ class OutputFormat:
self.config = config
def set_filter(self, export, internal, symbol, nosymbol, function_table,
enable_lineno):
enable_lineno, no_doc_sections):
"""
Initialize filter variables according with the requested mode.
@@ -87,6 +88,7 @@ class OutputFormat:
"""
self.enable_lineno = enable_lineno
self.no_doc_sections = no_doc_sections
if symbol:
self.out_mode = self.OUTPUT_INCLUDE
@@ -117,6 +119,9 @@ class OutputFormat:
def check_doc(self, name):
"""Check if DOC should be output"""
if self.no_doc_sections:
return False
if self.out_mode == self.OUTPUT_ALL:
return True