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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.