ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Jani Nikula <jani.nikula@intel.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Vegard Nossum <vegard.nossum@oracle.com>,
	ksummit@lists.linux.dev,
	Linux Documentation <linux-doc@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Akira Yokosawa <akiyks@gmail.com>,
	Bagas Sanjaya <bagasdotme@gmail.com>,
	Matthew Wilcox <willy@infradead.org>
Subject: Re: [TECH TOPIC] Kernel documentation - update and future directions
Date: Mon, 1 Sep 2025 20:37:50 +0200	[thread overview]
Message-ID: <20250901203750.33ee6689@foz.lan> (raw)
In-Reply-To: <b41031ca-b4a4-450d-a833-5affefe958b2@infradead.org>

Em Mon, 1 Sep 2025 09:51:01 -0700
Randy Dunlap <rdunlap@infradead.org> escreveu:

> On 9/1/25 3:09 AM, Jani Nikula wrote:
> > On Sun, 31 Aug 2025, Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:  
> >> It shouldn't be that hard to do the same for kernel-doc kAPI documentation:
> >> kernel-doc now can parse the entire tree with:
> >>
> >> 	$ scripts/kernel-doc .
> >>
> >> Someone can easily use it to discover the current gaps at the docs that
> >> have already some kernel-doc markups and identify what of them aren't
> >> yet placed under Documentation/ ".. kernel-doc::" markups.
> >>
> >> So, I'd say the first step here would be to ensure that 100% of the
> >> docs are there somewhere. Alternatively, we could place all the rest
> >> of functions with kernel-doc markups outside Documentation inside an
> >> "others/" book - or even "<subsystem>/others/", and then gradually move
> >> them to the right places.  
> > 
> > I don't agree that all the kernel-docs need to be in the html build in
> > the first place. Some of them would be better off with a simple
> > non-structured comment instead. For example, most static functions. Some
> > of the kernel-docs are useful for the structure the format provides, but
> > still having them in the html build is overkill. For example, many
> > complex but driver specific functions.  
> 
> 
> IMO there are far too many static functions that use kernel-doc notation.
> I certainly don't want to discourage function documentation, but I don't
> think there was any ever intent to have those functions added to the
> kernel docbooks.

Sure, but on the other hand, lots of those have warnings. Even if
not part of htmldocs, IMO the kernel-doc markups should reflect the
actual code.

> > I think the API documentation in the Sphinx build is primarily useful
> > for kernel generic and subsystem APIs, or overviews of
> > functionality. But nobody's looking at the Sphinx build for highly
> > specific and isolated documentation for individual structures or
> > functions.
> > 
> > I'd say emphasize quality over quantity in the Sphinx build. An
> > overwhelming amount of (in the big picture) insignificant API
> > documentation does not make for good documentation.
> > 
> > That said, there *are* a lot of kernel-doc comments that absolutely
> > should be pulled into the Sphinx build. But don't be indiscriminate
> > about it.
> > 
> > ---
> > 
> > I think a more interesting first step would be ensuring all the
> > kernel-docs we do have are free of kernel-doc and rst warnings. Because
> > they should be, and this would make them easier to pull into the Sphinx
> > build as needed.  
> 
> ISTM that there are lots of non-docs developers who either just don't care
> about that or never run 'make W=1 htmldocs' to see the problems in their
> drivers or subsystems. OK, maybe it's just a very low priority for them.
> 
> Willy had a suggestion that we just make checking kernel-doc during
> all .c builds a permanent feature instead of a W=1 option.
> This helps, but still doesn't force 'make htmldocs' to be run.

We can run it without actually building htmldocs. The only requirement
is to have Python 3.6 or above (this is enough to get error reports,
but 3.7 is needed to avoid having struct/function parameters out of
order).

The real problem is that, when we start doing it, Kernel build will 
have thousands of warnings. 

Perhaps one solution would be to have an image of our current
problems on a file, reporting only new stuff by default and using
WERROR policy, causing build to fail on new warnings.

This would at least avoid the problem to increase.

> And it causes around 450 build warnings in my testing of an x86_64 allmodconfig
> build.

It is a lot more if you check warnings for files with kernel-doc outside 
the htmldocs build and if you enable all kdoc warnings:

	$ time ./scripts/kernel-doc -Wall . --none 2>warnings

	real    0m33,063s
	user    0m31,233s
	sys     0m0,753s

	$ grep Warning warnings|wc -l
	36965

almost 37K warnings.


Thanks,
Mauro

  parent reply	other threads:[~2025-09-01 18:37 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-22 22:55 Jonathan Corbet
2025-08-25 10:35 ` Mauro Carvalho Chehab
2025-08-28 23:01 ` Laurent Pinchart
2025-08-30 13:37   ` Jonathan Corbet
2025-08-30 16:00     ` Vegard Nossum
2025-08-30 22:23       ` Laurent Pinchart
2025-08-30 23:08         ` Jonathan Corbet
2025-08-31 14:03           ` Mauro Carvalho Chehab
2025-08-31 20:16             ` Jonathan Corbet
2025-09-01  6:17               ` Randy Dunlap
2025-09-01 19:27                 ` Mauro Carvalho Chehab
2025-09-01 10:09             ` Jani Nikula
2025-09-01 16:51               ` Randy Dunlap
2025-09-01 17:52                 ` Mark Brown
2025-09-01 18:15                   ` Randy Dunlap
2025-09-01 18:20                     ` Mark Brown
2025-09-01 18:25                   ` Jonathan Corbet
2025-09-01 18:40                     ` Mark Brown
2025-09-01 19:51                       ` Jonathan Corbet
2025-09-01 22:52                       ` Mauro Carvalho Chehab
2025-09-01 18:46                   ` Mauro Carvalho Chehab
2025-09-01 18:52                     ` Mark Brown
2025-09-01 22:56                       ` Mauro Carvalho Chehab
2025-09-02 11:15                         ` Mark Brown
2025-09-02 11:59                           ` Mauro Carvalho Chehab
2025-09-02 12:14                             ` Mauro Carvalho Chehab
2025-09-02 13:00                               ` Mark Brown
2025-09-02 14:42                                 ` Mauro Carvalho Chehab
2025-09-02 15:15                                   ` Jonathan Corbet
2025-09-02 17:19                                     ` Mauro Carvalho Chehab
2025-09-02 18:52                                       ` Laurent Pinchart
2025-09-03  7:47                                         ` Jani Nikula
2025-09-03 10:04                                           ` Mauro Carvalho Chehab
2025-09-03 10:25                                             ` Jani Nikula
2025-09-02 18:58                                       ` Jonathan Corbet
2025-09-02 22:35                                         ` Mauro Carvalho Chehab
2025-09-03  6:29                                         ` Johannes Berg
2025-09-03 10:42                                           ` Mauro Carvalho Chehab
2025-09-03 10:45                                             ` Johannes Berg
2025-09-03 10:54                                               ` Johannes Berg
2025-09-03 14:57                                                 ` Mauro Carvalho Chehab
2025-09-03 15:07                                                   ` Laurent Pinchart
2025-09-03 15:17                                                     ` Konstantin Ryabitsev
2025-09-03 15:22                                                     ` Miguel Ojeda
2025-09-03 15:11                                                   ` Johannes Berg
2025-09-03 15:25                                                     ` Mauro Carvalho Chehab
2025-09-03 15:37                                                       ` Jonathan Corbet
2025-09-03 15:52                                                         ` Mauro Carvalho Chehab
2025-09-03 13:39                                               ` Mauro Carvalho Chehab
2025-09-03 13:51                                                 ` Laurent Pinchart
2025-09-01 19:53                     ` Jonathan Corbet
2025-09-01 23:15                       ` Mauro Carvalho Chehab
2025-09-01 18:37                 ` Mauro Carvalho Chehab [this message]
2025-09-01 19:05                   ` Andrew Lunn
2025-09-01 19:17                     ` Mark Brown
2025-09-02 10:42                 ` Jani Nikula
2025-09-02 11:55                   ` Mauro Carvalho Chehab
2025-09-02 12:07                     ` Jani Nikula
2025-09-02 15:07                       ` Mauro Carvalho Chehab
2025-09-01 18:26               ` Mauro Carvalho Chehab
2025-09-02 10:55                 ` Jani Nikula
2025-09-02 12:04                   ` Andrew Lunn

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=20250901203750.33ee6689@foz.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=akiyks@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=corbet@lwn.net \
    --cc=jani.nikula@intel.com \
    --cc=ksummit@lists.linux.dev \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=vegard.nossum@oracle.com \
    --cc=willy@infradead.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