Documentation/sphinx/kerneldoc.py | 108 +++++++++++++----------------- MAINTAINERS | 5 +- scripts/lib/kdoc/kdoc_files.py | 4 ++ 3 files changed, 53 insertions(+), 64 deletions(-)
Hi Jon,
That's the third version of the kernel-doc fixup patch series.
It address the root cause why Sphinx logger was not working: there
was a call there for logger.verbose(). According with:
https://www.sphinx-doc.org/en/master/extdev/logging.html
This is a valid call, but it doesn't verbose messages. Instead, it is
crashing with modern Sphinx versions, causing the log to not work.
I got rid of it, replacing by logger.info(). I took the time to also
address an issue pointed by Andy: not having the same log message
placed everywhere. With such change, we can keep using Sphinx
logger (which produces colored messages) inside kernel-doc
classes.
With that, we have:
Patch 1: makes Lore and kernel-doc ML receive patches related
to kernel-doc.py and get_abi.py.
Patch 2: cleanup try/except logic and get rid of logger.verbose();
Patch 3: fix a KeyError when trying to acess data from non-existing files;
If you test just patch 1 on the top of next-20250516, you'll see the
keyerror message (in red):
ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
WARNING: kernel-doc './scripts/kernel-doc.py -rst -enable-lineno -export ./drivers/gpio/gpiolib-acpi.c' processing failed with: KeyError('./drivers/gpio/gpiolib-acpi.c')
And the script doesn't crash anymore. After patch 2, the try/except
warning gets replaced by a proper message:
ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
WARNING: No kernel-doc for file ./drivers/gpio/gpiolib-acpi.c
Please apply it to solve the issues that are reported by Stephen and Akira.
Regards,
Mauro
---
v3:
- Fix a trivial typo on patch 1;
- Added Akira's ack;
v2:
- Solved the root cause of not having Sphinx logs on kerneldoc.py.
Mauro Carvalho Chehab (3):
MAINTAINERS: update linux-doc entry to cover new Python scripts
docs: kerneldoc.py: simplify exception handling logic
scripts: kernel-doc: prevent a KeyError when checking output
Documentation/sphinx/kerneldoc.py | 108 +++++++++++++-----------------
MAINTAINERS | 5 +-
scripts/lib/kdoc/kdoc_files.py | 4 ++
3 files changed, 53 insertions(+), 64 deletions(-)
--
2.49.0
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes: > Hi Jon, > > That's the third version of the kernel-doc fixup patch series. > > It address the root cause why Sphinx logger was not working: there > was a call there for logger.verbose(). According with: > > https://www.sphinx-doc.org/en/master/extdev/logging.html > > This is a valid call, but it doesn't verbose messages. Instead, it is > crashing with modern Sphinx versions, causing the log to not work. > > I got rid of it, replacing by logger.info(). I took the time to also > address an issue pointed by Andy: not having the same log message > placed everywhere. With such change, we can keep using Sphinx > logger (which produces colored messages) inside kernel-doc > classes. > > With that, we have: > > Patch 1: makes Lore and kernel-doc ML receive patches related > to kernel-doc.py and get_abi.py. > Patch 2: cleanup try/except logic and get rid of logger.verbose(); > Patch 3: fix a KeyError when trying to acess data from non-existing files; OK, I've applied the series, thanks. Sorry for my relative absence through all of this - I've been out of the country and poorly connected for the last three weeks; done with that now. Thanks, jon
On Wed, May 21, 2025 at 11:02:12AM +0200, Mauro Carvalho Chehab wrote:
> Hi Jon,
>
> That's the third version of the kernel-doc fixup patch series.
>
> It address the root cause why Sphinx logger was not working: there
> was a call there for logger.verbose(). According with:
>
> https://www.sphinx-doc.org/en/master/extdev/logging.html
>
> This is a valid call, but it doesn't verbose messages. Instead, it is
> crashing with modern Sphinx versions, causing the log to not work.
>
> I got rid of it, replacing by logger.info(). I took the time to also
> address an issue pointed by Andy: not having the same log message
> placed everywhere. With such change, we can keep using Sphinx
> logger (which produces colored messages) inside kernel-doc
> classes.
>
> With that, we have:
>
> Patch 1: makes Lore and kernel-doc ML receive patches related
> to kernel-doc.py and get_abi.py.
> Patch 2: cleanup try/except logic and get rid of logger.verbose();
> Patch 3: fix a KeyError when trying to acess data from non-existing files;
>
> If you test just patch 1 on the top of next-20250516, you'll see the
> keyerror message (in red):
>
> ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
> ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
> WARNING: kernel-doc './scripts/kernel-doc.py -rst -enable-lineno -export ./drivers/gpio/gpiolib-acpi.c' processing failed with: KeyError('./drivers/gpio/gpiolib-acpi.c')
>
> And the script doesn't crash anymore. After patch 2, the try/except
> warning gets replaced by a proper message:
>
> ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
> ERROR: Cannot find file ./drivers/gpio/gpiolib-acpi.c
> WARNING: No kernel-doc for file ./drivers/gpio/gpiolib-acpi.c
Sounds reasonable to me.
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
--
With Best Regards,
Andy Shevchenko
© 2016 - 2025 Red Hat, Inc.