From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Akira Yokosawa <akiyks@gmail.com>, Shuah Khan <shuah@kernel.org>,
Jani Nikula <jani.nikula@linux.intel.com>
Subject: Re: [PATCH 1/2] docs: kdoc: remove support for an external kernel-doc from sphinx
Date: Wed, 14 Jan 2026 20:42:55 +0100 [thread overview]
Message-ID: <20260114204255.0140a59b@foz.lan> (raw)
In-Reply-To: <20260114164146.532916-2-corbet@lwn.net>
Em Wed, 14 Jan 2026 09:41:43 -0700
Jonathan Corbet <corbet@lwn.net> escreveu:
> The ability to build the docs with an external kernel-doc program involves
> some truly confusing logic and complicates the task of moving kernel-doc
> out of scripts/. But this feature is not useful for normal documentation
> builds, and the external kernel-doc can always be run by hand when it needs
> debugging. So just remove that feature and make life easier.
>
> There is still a bunch of logic to build a command line that we never use;
> the idea is to be able to output it, but I'm not sure if that is worth
> keeping.
>
> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Agreed: it is time to get rid of such support.
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> Documentation/sphinx/kerneldoc.py | 53 ++++---------------------------
> 1 file changed, 6 insertions(+), 47 deletions(-)
>
> diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py
> index d8cdf068ef35c..afbab458550a8 100644
> --- a/Documentation/sphinx/kerneldoc.py
> +++ b/Documentation/sphinx/kerneldoc.py
> @@ -190,35 +190,7 @@ class KernelDocDirective(Directive):
>
> return cmd
>
> - def run_cmd(self, cmd):
> - """
> - Execute an external kernel-doc command.
> - """
> -
> - env = self.state.document.settings.env
> - node = nodes.section()
> -
> - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
> - out, err = p.communicate()
> -
> - out, err = codecs.decode(out, 'utf-8'), codecs.decode(err, 'utf-8')
> -
> - if p.returncode != 0:
> - sys.stderr.write(err)
> -
> - logger.warning("kernel-doc '%s' failed with return code %d"
> - % (" ".join(cmd), p.returncode))
> - return [nodes.error(None, nodes.paragraph(text = "kernel-doc missing"))]
> - elif env.config.kerneldoc_verbosity > 0:
> - sys.stderr.write(err)
> -
> - filenames = self.parse_args["file_list"]
> - for filename in filenames:
> - self.parse_msg(filename, node, out, cmd)
> -
> - return node.children
> -
> - def parse_msg(self, filename, node, out, cmd):
> + def parse_msg(self, filename, node, out):
> """
> Handles a kernel-doc output for a given file
> """
> @@ -244,7 +216,7 @@ class KernelDocDirective(Directive):
>
> self.do_parse(result, node)
>
> - def run_kdoc(self, cmd, kfiles):
> + def run_kdoc(self, kfiles):
> """
> Execute kernel-doc classes directly instead of running as a separate
> command.
> @@ -258,23 +230,17 @@ class KernelDocDirective(Directive):
> filenames = self.parse_args["file_list"]
>
> for filename, out in kfiles.msg(**self.msg_args, filenames=filenames):
> - self.parse_msg(filename, node, out, cmd)
> + self.parse_msg(filename, node, out)
>
> return node.children
>
> def run(self):
> - global kfiles
> -
> cmd = self.handle_args()
> if self.verbose >= 1:
> logger.info(cmd_str(cmd))
>
> try:
> - if kfiles:
> - return self.run_kdoc(cmd, kfiles)
> - else:
> - return self.run_cmd(cmd)
> -
> + return self.run_kdoc(kfiles)
> except Exception as e: # pylint: disable=W0703
> logger.warning("kernel-doc '%s' processing failed with: %s" %
> (cmd_str(cmd), pformat(e)))
> @@ -286,15 +252,8 @@ class KernelDocDirective(Directive):
>
> def setup_kfiles(app):
> global kfiles
> -
> - kerneldoc_bin = app.env.config.kerneldoc_bin
> -
> - if kerneldoc_bin and kerneldoc_bin.endswith("kernel-doc.py"):
> - print("Using Python kernel-doc")
> - out_style = RestFormat()
> - kfiles = KernelFiles(out_style=out_style, logger=logger)
> - else:
> - print(f"Using {kerneldoc_bin}")
> + out_style = RestFormat()
> + kfiles = KernelFiles(out_style=out_style, logger=logger)
>
>
> def setup(app):
Thanks,
Mauro
next prev parent reply other threads:[~2026-01-14 19:43 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-14 16:41 [PATCH 0/2] Move kernel-doc to tools/docs Jonathan Corbet
2026-01-14 16:41 ` [PATCH 1/2] docs: kdoc: remove support for an external kernel-doc from sphinx Jonathan Corbet
2026-01-14 19:42 ` Mauro Carvalho Chehab [this message]
2026-01-14 16:41 ` [PATCH 2/2] Move kernel-doc to tools/docs Jonathan Corbet
2026-01-14 20:00 ` Mauro Carvalho Chehab
2026-01-19 8:23 ` kernel test robot
2026-01-19 10:27 ` Mauro Carvalho Chehab
2026-01-14 19:20 ` [PATCH 0/2] " Randy Dunlap
2026-01-14 19:24 ` Jonathan Corbet
2026-01-14 20:25 ` Mauro Carvalho Chehab
2026-01-15 10:33 ` Jani Nikula
2026-01-15 12:23 ` Mauro Carvalho Chehab
2026-01-15 12:58 ` Jani Nikula
2026-01-15 15:05 ` Jonathan Corbet
2026-01-15 17:31 ` Randy Dunlap
2026-01-15 18:04 ` Jonathan Corbet
2026-01-15 18:48 ` Randy Dunlap
2026-01-16 10:38 ` Jani Nikula
2026-01-16 17:44 ` Jonathan Corbet
2026-01-17 10:29 ` Mauro Carvalho Chehab
2026-01-16 17:48 ` Jonathan Corbet
2026-01-17 10:00 ` Mauro Carvalho Chehab
2026-01-17 18:09 ` Randy Dunlap
2026-01-19 10:17 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260114204255.0140a59b@foz.lan \
--to=mchehab+huawei@kernel.org \
--cc=akiyks@gmail.com \
--cc=corbet@lwn.net \
--cc=jani.nikula@linux.intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox