Commit 0873e554 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet
Browse files

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: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/06b18a32142b44d5ba8b41ac64a76c02b03b4969.1744106242.git.mchehab+huawei@kernel.org
parent 799b0d2a
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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)
+3 −2
Original line number Diff line number Diff line
@@ -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 = ""
+6 −1
Original line number Diff line number Diff line
@@ -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