[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190627213930.0d28a072@coco.lan>
Date: Thu, 27 Jun 2019 21:39:30 -0300
From: Mauro Carvalho Chehab <mchehab@...radead.org>
To: Joe Perches <joe@...ches.com>
Cc: corbet@....net, linux-doc@...r.kernel.org, tglx@...utronix.de,
mingo@...nel.org, hpa@...or.com, linux-kernel@...r.kernel.org,
mchehab+samsung@...nel.org, linux-tip-commits@...r.kernel.org,
docutils-develop@...ts.sourceforge.net
Subject: Re: [tip:timers/core] hrtimer: Use a bullet for the returns bullet
list
Em Thu, 27 Jun 2019 15:08:59 -0700
Joe Perches <joe@...ches.com> escreveu:
> On Thu, 2019-06-27 at 14:46 -0700, tip-bot for Mauro Carvalho Chehab
> wrote:
> > Commit-ID: 516337048fa40496ae5ca9863c367ec991a44d9a
> > Gitweb: https://git.kernel.org/tip/516337048fa40496ae5ca9863c367ec991a44d9a
> > Author: Mauro Carvalho Chehab <mchehab+samsung@...nel.org>
> > AuthorDate: Mon, 24 Jun 2019 07:33:26 -0300
> > Committer: Thomas Gleixner <tglx@...utronix.de>
> > CommitDate: Thu, 27 Jun 2019 23:30:04 +0200
> >
> > hrtimer: Use a bullet for the returns bullet list
> >
> > That gets rid of this warning:
> >
> > ./kernel/time/hrtimer.c:1119: WARNING: Block quote ends without a blank line; unexpected unindent.
>
> Doesn't this form occur multiple dozens of times in
> kernel sources?
>
> For instance:
>
> $ git grep -B3 -A5 -P "^ \* Returns:?$" | \
> grep -P -A8 '\-\s+\*\s*@\w+:'
Yes, this is a common pattern, but not all patterns that match the above
regex are broken.
>
> I think the warning is odd at best and docutils might
> be updated or the warning ignored or suppressed.
>
> > and displays nicely both at the source code and at the produced
> > documentation.
The warnings are painful - and they're the main reason why I wrote this
change: - I wanted to avoid new warnings actually unrelated to my
changes that were sometimes appearing while doing incremental
"make htmldocs" on a big patchset that I've been rebasing almost every
week over the last two months.
-
Yet, did you try to look how this pattern will appear at the html and pdf
output? Something like this:
sound/soc/codecs/wm8960.c: * Returns:
sound/soc/codecs/wm8960.c- * -1, in case no sysclk frequency available found
sound/soc/codecs/wm8960.c- * >=0, in case we could derive bclk and lrclk from sysclk using
sound/soc/codecs/wm8960.c- * (@sysclk_idx, @dac_idx, @bclk_idx) dividers
Will be displayed as:
**Returns:**
-1, in case no sysclk frequency available found **>=0, in case we could derive bclk and lrclk from sysclk using** (@sysclk_idx, @dac_idx, @bclk_idx) dividers
(where **foo**) means that "foo" will be printed in bold.
E. g. it will just merge all returns values into a single line and, if
there are alignment differences, it will make the previous line bold
and produce a warning.
On some places, however, what's there will be properly displayed,
like this one:
**
* wimax_reset - Reset a WiMAX device
*
* @wimax_dev: WiMAX device descriptor
*
* Returns:
*
* %0 if ok and a warm reset was done (the device still exists in
* the system).
*
* -%ENODEV if a cold/bus reset had to be done (device has
* disconnected and reconnected, so current handle is not valid
* any more).
*
* -%EINVAL if the device is not even registered.
*
* Any other negative error code shall be considered as
* non-recoverable.
*
As there are blank lines between each value, making each return code a
different line.
This one:
tools/lib/traceevent/parse-filter.c: * Returns:
tools/lib/traceevent/parse-filter.c- * 1 if the two filters hold the same content.
tools/lib/traceevent/parse-filter.c- * 0 if they do not.
will also not mangle too much, as the dots will help for someone to
understand, if reading the html/pdf output, like this:
**Returns:**
1 if the two filters hold the same content. 0 if they do not.
So, it all depends on the context.
-
While it would likely be possible to improve kernel-doc to present better
results, I'm afraid that it would be too complex for simple regex
expressions, and hard to tune, as it would be a hint-based approach,
and doing a natural language processing would be too much effort.
>
> > diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
> []
> > @@ -1114,9 +1114,10 @@ EXPORT_SYMBOL_GPL(hrtimer_start_range_ns);
> > * @timer: hrtimer to stop
> > *
> > * Returns:
> > - * 0 when the timer was not active
> > - * 1 when the timer was active
> > - * -1 when the timer is currently executing the callback function and
> > + *
> > + * * 0 when the timer was not active
> > + * * 1 when the timer was active
> > + * * -1 when the timer is currently executing the callback function and
> > * cannot be stopped
> > */
> > int hrtimer_try_to_cancel(struct hrtimer *timer)
>
Thanks,
Mauro
Powered by blists - more mailing lists