linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/23] Fix media uAPI cross references
@ 2025-10-01 14:49 Mauro Carvalho Chehab
  2025-10-01 14:49 ` [PATCH 01/23] tools: docs: parse_data_structs.py: drop contents header Mauro Carvalho Chehab
                   ` (24 more replies)
  0 siblings, 25 replies; 29+ messages in thread
From: Mauro Carvalho Chehab @ 2025-10-01 14:49 UTC (permalink / raw)
  To: Jonathan Corbet, Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel,
	linux-media

In the past, media used Docbook to generate documentation, together
with some logic to ensure that cross-references would match the
actual defined uAPI.

The rationale is that we wanted to automatically check for uAPI
documentation gaps.

The same logic was migrated to Sphinx. Back then, broken links
were reported. However, recent versions of it and/or changes at
conf.py disabled such checks.

The result is that several symbols are now not cross-referenced,
and we don't get warnings anymore when something breaks.

This series consist on 2 parts:

Part 1: extra patches to parse_data_structs.py and kernel_include.py;
Part 2: media documentation fixes.

I'm not sure what's the best strategy to merge it, as some patches
belong to doc while others are media. So, they can be merged on
either one of the tree, or split on two series and merged in
separate or even being merged via a PR applied on both trees.

IMO, the latter is the better strategy.

Anyway, let's submit the series for review and discuss later about
its merge strategy.

Mauro Carvalho Chehab (23):
  tools: docs: parse_data_structs.py: drop contents header
  tools: docs: parse_data_structs.py: output a line number
  docs: kernel_include.py: fix line numbers for TOC
  docs: kernel_include.py: propose alternatives
  tools: docs: parse_data_structs: make process_exceptions two stages
  tools: docs: parse_data_structs.py: get rid of process_exceptions()
  tools: docs: parse_data_structs.py: add namespace support
  tools: docs: parse_data_structs.py: accept more reftypes
  docs: media: dvb: use TOC instead of file contents at headers
  docs: media: dvb: enable warnings for most headers
  docs: media: rc: use TOC instead of file contents for LIRC header
  docs: media: mediactl: use TOC instead of file contents
  docs: kernel_include.py: use get_close_matches() to propose
    alternatives
  docs: media: add missing c namespace to V4L headers
  docs: media: videodev2.h.rst.exceptions: fix namespace on refs
  media: docs: add a missing reference for VIDIOC_QUERY_CTRL
  media: docs: videodev2.h.rst.exceptions: ignore struct
    __kernel_v4l2_timeval
  media: docs: add some C domain missing references
  docs: cec: cec.h.rst.exceptions: fix broken references from cec.h
  docs: cec: show broken xrefs and show TOC instead of cec.h content
  docs: media: dmx_types: place kerneldoc at the right namespace
  docs: media: dvb: headers: warn about broken cross references
  docs: media: dvb: fix dmx.h.rst.exceptions

 Documentation/sphinx/kernel_include.py        | 110 ++++++-
 .../userspace-api/media/cec/cec-header.rst    |   8 +-
 .../media/cec/cec.h.rst.exceptions            |   3 +
 .../media/dvb/dmx.h.rst.exceptions            |  82 +++--
 .../userspace-api/media/dvb/dmx_types.rst     |   1 +
 .../media/dvb/frontend.h.rst.exceptions       |   5 +-
 .../userspace-api/media/dvb/headers.rst       |  31 +-
 .../media/mediactl/media-header.rst           |   8 +-
 .../media/mediactl/media.h.rst.exceptions     |   3 +
 .../userspace-api/media/rc/lirc-header.rst    |  14 +-
 .../userspace-api/media/v4l/app-pri.rst       |   1 +
 .../userspace-api/media/v4l/audio.rst         |   1 +
 .../userspace-api/media/v4l/biblio.rst        |   1 +
 .../userspace-api/media/v4l/buffer.rst        |   2 +
 .../media/v4l/capture-example.rst             |   1 +
 .../userspace-api/media/v4l/capture.c.rst     |   1 +
 .../media/v4l/colorspaces-defs.rst            |   1 +
 .../media/v4l/colorspaces-details.rst         |   1 +
 .../userspace-api/media/v4l/colorspaces.rst   |   1 +
 .../userspace-api/media/v4l/common-defs.rst   |   1 +
 .../userspace-api/media/v4l/common.rst        |   1 +
 .../userspace-api/media/v4l/compat.rst        |   1 +
 .../userspace-api/media/v4l/control.rst       |   1 +
 .../userspace-api/media/v4l/crop.rst          |   1 +
 .../userspace-api/media/v4l/depth-formats.rst |   1 +
 .../userspace-api/media/v4l/dev-decoder.rst   |   1 +
 .../userspace-api/media/v4l/dev-encoder.rst   |   1 +
 .../userspace-api/media/v4l/dev-event.rst     |   1 +
 .../userspace-api/media/v4l/dev-mem2mem.rst   |   1 +
 .../userspace-api/media/v4l/dev-meta.rst      |   1 +
 .../userspace-api/media/v4l/dev-osd.rst       |   1 +
 .../userspace-api/media/v4l/dev-overlay.rst   |   1 +
 .../userspace-api/media/v4l/dev-radio.rst     |   1 +
 .../userspace-api/media/v4l/dev-sdr.rst       |   1 +
 .../media/v4l/dev-stateless-decoder.rst       |   1 +
 .../userspace-api/media/v4l/dev-subdev.rst    |   1 +
 .../userspace-api/media/v4l/dev-touch.rst     |   1 +
 .../userspace-api/media/v4l/devices.rst       |   1 +
 .../userspace-api/media/v4l/dv-timings.rst    |   1 +
 .../media/v4l/ext-ctrls-camera.rst            |   1 +
 .../media/v4l/ext-ctrls-codec-stateless.rst   |   1 +
 .../media/v4l/ext-ctrls-codec.rst             |   1 +
 .../media/v4l/ext-ctrls-colorimetry.rst       |   1 +
 .../media/v4l/ext-ctrls-detect.rst            |   1 +
 .../userspace-api/media/v4l/ext-ctrls-dv.rst  |   1 +
 .../media/v4l/ext-ctrls-flash.rst             |   1 +
 .../media/v4l/ext-ctrls-fm-rx.rst             |   1 +
 .../media/v4l/ext-ctrls-fm-tx.rst             |   1 +
 .../media/v4l/ext-ctrls-image-process.rst     |   1 +
 .../media/v4l/ext-ctrls-image-source.rst      |   1 +
 .../media/v4l/ext-ctrls-jpeg.rst              |   1 +
 .../media/v4l/ext-ctrls-rf-tuner.rst          |   1 +
 .../media/v4l/extended-controls.rst           |   1 +
 .../userspace-api/media/v4l/field-order.rst   |   1 +
 .../userspace-api/media/v4l/fourcc.rst        |   1 +
 .../userspace-api/media/v4l/hsv-formats.rst   |   1 +
 .../userspace-api/media/v4l/libv4l.rst        |   1 +
 .../userspace-api/media/v4l/meta-formats.rst  |   1 +
 .../media/v4l/metafmt-c3-isp.rst              |   1 +
 .../userspace-api/media/v4l/metafmt-d4xx.rst  |   1 +
 .../media/v4l/metafmt-generic.rst             |   1 +
 .../media/v4l/metafmt-intel-ipu3.rst          |   1 +
 .../media/v4l/metafmt-pisp-be.rst             |   1 +
 .../media/v4l/metafmt-pisp-fe.rst             |   1 +
 .../media/v4l/metafmt-rkisp1.rst              |   1 +
 .../userspace-api/media/v4l/metafmt-uvc.rst   |   1 +
 .../userspace-api/media/v4l/metafmt-vivid.rst |   1 +
 .../media/v4l/metafmt-vsp1-hgo.rst            |   1 +
 .../media/v4l/metafmt-vsp1-hgt.rst            |   1 +
 .../userspace-api/media/v4l/pixfmt-bayer.rst  |   1 +
 .../userspace-api/media/v4l/pixfmt-cnf4.rst   |   1 +
 .../media/v4l/pixfmt-compressed.rst           |   1 +
 .../media/v4l/pixfmt-indexed.rst              |   1 +
 .../userspace-api/media/v4l/pixfmt-intro.rst  |   1 +
 .../userspace-api/media/v4l/pixfmt-inzi.rst   |   1 +
 .../userspace-api/media/v4l/pixfmt-m420.rst   |   1 +
 .../media/v4l/pixfmt-packed-hsv.rst           |   1 +
 .../media/v4l/pixfmt-packed-yuv.rst           |   1 +
 .../media/v4l/pixfmt-reserved.rst             |   1 +
 .../userspace-api/media/v4l/pixfmt-rgb.rst    |   1 +
 .../media/v4l/pixfmt-sdr-cs08.rst             |   1 +
 .../media/v4l/pixfmt-sdr-cs14le.rst           |   1 +
 .../media/v4l/pixfmt-sdr-cu08.rst             |   1 +
 .../media/v4l/pixfmt-sdr-cu16le.rst           |   1 +
 .../media/v4l/pixfmt-sdr-pcu16be.rst          |   1 +
 .../media/v4l/pixfmt-sdr-pcu18be.rst          |   1 +
 .../media/v4l/pixfmt-sdr-pcu20be.rst          |   1 +
 .../media/v4l/pixfmt-sdr-ru12le.rst           |   1 +
 .../media/v4l/pixfmt-srggb10-ipu3.rst         |   1 +
 .../media/v4l/pixfmt-srggb10.rst              |   1 +
 .../media/v4l/pixfmt-srggb10alaw8.rst         |   1 +
 .../media/v4l/pixfmt-srggb10dpcm8.rst         |   1 +
 .../media/v4l/pixfmt-srggb10p.rst             |   1 +
 .../media/v4l/pixfmt-srggb12.rst              |   1 +
 .../media/v4l/pixfmt-srggb12p.rst             |   1 +
 .../media/v4l/pixfmt-srggb14.rst              |   1 +
 .../media/v4l/pixfmt-srggb14p.rst             |   1 +
 .../media/v4l/pixfmt-srggb16.rst              |   1 +
 .../media/v4l/pixfmt-srggb8-pisp-comp.rst     |   1 +
 .../userspace-api/media/v4l/pixfmt-srggb8.rst |   1 +
 .../media/v4l/pixfmt-tch-td08.rst             |   1 +
 .../media/v4l/pixfmt-tch-td16.rst             |   1 +
 .../media/v4l/pixfmt-tch-tu08.rst             |   1 +
 .../media/v4l/pixfmt-tch-tu16.rst             |   1 +
 .../userspace-api/media/v4l/pixfmt-uv8.rst    |   1 +
 .../media/v4l/pixfmt-v4l2-mplane.rst          |   1 +
 .../userspace-api/media/v4l/pixfmt-v4l2.rst   |   1 +
 .../userspace-api/media/v4l/pixfmt-y12i.rst   |   1 +
 .../userspace-api/media/v4l/pixfmt-y16i.rst   |   1 +
 .../userspace-api/media/v4l/pixfmt-y8i.rst    |   1 +
 .../media/v4l/pixfmt-yuv-luma.rst             |   1 +
 .../media/v4l/pixfmt-yuv-planar.rst           |   1 +
 .../userspace-api/media/v4l/pixfmt-z16.rst    |   1 +
 .../userspace-api/media/v4l/pixfmt.rst        |   1 +
 .../userspace-api/media/v4l/planar-apis.rst   |   1 +
 .../userspace-api/media/v4l/querycap.rst      |   1 +
 .../userspace-api/media/v4l/sdr-formats.rst   |   1 +
 .../media/v4l/selection-api-configuration.rst |   1 +
 .../media/v4l/selection-api-examples.rst      |   1 +
 .../media/v4l/selection-api-intro.rst         |   1 +
 .../media/v4l/selection-api-targets.rst       |   1 +
 .../media/v4l/selection-api-vs-crop-api.rst   |   1 +
 .../userspace-api/media/v4l/selection-api.rst |   1 +
 .../media/v4l/selections-common.rst           |   1 +
 .../userspace-api/media/v4l/standard.rst      |   1 +
 .../media/v4l/subdev-formats.rst              |   1 +
 .../userspace-api/media/v4l/tch-formats.rst   |   1 +
 .../userspace-api/media/v4l/tuner.rst         |   1 +
 .../userspace-api/media/v4l/user-func.rst     |   1 +
 .../media/v4l/v4l2-selection-flags.rst        |   1 +
 .../media/v4l/v4l2-selection-targets.rst      |   1 +
 .../userspace-api/media/v4l/v4l2.rst          |   1 +
 .../media/v4l/v4l2grab-example.rst            |   1 +
 .../userspace-api/media/v4l/v4l2grab.c.rst    |   1 +
 .../userspace-api/media/v4l/video.rst         |   1 +
 .../userspace-api/media/v4l/videodev.rst      |   9 +-
 .../media/v4l/videodev2.h.rst.exceptions      | 288 +++++++++---------
 .../media/v4l/vidioc-queryctrl.rst            |   8 +
 .../userspace-api/media/v4l/yuv-formats.rst   |   1 +
 tools/docs/lib/parse_data_structs.py          | 230 ++++++++------
 tools/docs/parse-headers.py                   |   5 +-
 141 files changed, 608 insertions(+), 324 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2025-10-20 11:56 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-01 14:49 [PATCH 00/23] Fix media uAPI cross references Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 01/23] tools: docs: parse_data_structs.py: drop contents header Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 02/23] tools: docs: parse_data_structs.py: output a line number Mauro Carvalho Chehab
2025-10-20 10:46   ` Hans Verkuil
2025-10-20 11:56     ` Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 03/23] docs: kernel_include.py: fix line numbers for TOC Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 04/23] docs: kernel_include.py: propose alternatives Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 05/23] tools: docs: parse_data_structs: make process_exceptions two stages Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 06/23] tools: docs: parse_data_structs.py: get rid of process_exceptions() Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 07/23] tools: docs: parse_data_structs.py: add namespace support Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 08/23] tools: docs: parse_data_structs.py: accept more reftypes Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 09/23] docs: media: dvb: use TOC instead of file contents at headers Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 10/23] docs: media: dvb: enable warnings for most headers Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 11/23] docs: media: rc: use TOC instead of file contents for LIRC header Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 12/23] docs: media: mediactl: use TOC instead of file contents Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 13/23] docs: kernel_include.py: use get_close_matches() to propose alternatives Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 14/23] docs: media: add missing c namespace to V4L headers Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 15/23] docs: media: videodev2.h.rst.exceptions: fix namespace on refs Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 16/23] media: docs: add a missing reference for VIDIOC_QUERY_CTRL Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 17/23] media: docs: videodev2.h.rst.exceptions: ignore struct __kernel_v4l2_timeval Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 18/23] media: docs: add some C domain missing references Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 19/23] docs: cec: cec.h.rst.exceptions: fix broken references from cec.h Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 20/23] docs: cec: show broken xrefs and show TOC instead of cec.h content Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 21/23] docs: media: dmx_types: place kerneldoc at the right namespace Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 22/23] docs: media: dvb: headers: warn about broken cross references Mauro Carvalho Chehab
2025-10-01 14:49 ` [PATCH 23/23] docs: media: dvb: fix dmx.h.rst.exceptions Mauro Carvalho Chehab
2025-10-17 20:08 ` [PATCH 00/23] Fix media uAPI cross references Jonathan Corbet
2025-10-18 10:53   ` Mauro Carvalho Chehab
2025-10-20 10:51 ` Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).