From: Sean Young <sean@mess.org>
To: Hans Verkuil <hverkuil+cisco@kernel.org>
Cc: linux-media@vger.kernel.org,
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Ricardo Ribalda <ribalda@chromium.org>
Subject: Re: [PATCHv6 1/3] docs: media: update maintainer-entry-profile for multi-committers
Date: Mon, 27 Oct 2025 22:06:40 +0000 [thread overview]
Message-ID: <aP_s8D35617s6JWU@gofer.mess.org> (raw)
In-Reply-To: <1495ec4ccdcdfab788fa9d02e11a6028a455e31b.1761571713.git.hverkuil+cisco@kernel.org>
On Mon, Oct 27, 2025 at 02:28:31PM +0100, Hans Verkuil wrote:
> From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
>
> As the media subsystem will experiment with a multi-committers model,
> update the Maintainer's entry profile to the new rules.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
I've read it and I only have some tiny nits, looks great.
Reviewed-by: Sean Young <sean@mess.org>
> ---
> .../media/maintainer-entry-profile.rst | 368 +++++++++++++++---
> 1 file changed, 308 insertions(+), 60 deletions(-)
>
> diff --git a/Documentation/driver-api/media/maintainer-entry-profile.rst b/Documentation/driver-api/media/maintainer-entry-profile.rst
> index 2127e5b15e8f..af499e79b23e 100644
> --- a/Documentation/driver-api/media/maintainer-entry-profile.rst
> +++ b/Documentation/driver-api/media/maintainer-entry-profile.rst
> @@ -4,19 +4,25 @@ Media Subsystem Profile
> Overview
> --------
>
> -The media subsystem covers support for a variety of devices: stream
> -capture, analog and digital TV streams, cameras, remote controllers, HDMI CEC
> -and media pipeline control.
> +The Linux Media Community (aka: the LinuxTV Community) is formed of
> +developers working on Linux Kernel Media Subsystem, together with users
> +who also play an important role in testing the code.
>
> -It covers, mainly, the contents of those directories:
> +The Media Subsystem has code to support a wide variety of media-related
> +devices: stream capture, analog and digital TV streams, cameras,
> +video codecs, video processing (resizers, etc.), radio, remote controllers,
> +HDMI CEC and media pipeline control.
> +
> +The Media Subsystem consists of the following directories in the kernel
> +tree:
>
> - drivers/media
> - drivers/staging/media
> + - include/media
> + - Documentation/devicetree/bindings/media/\ [1]_
> - Documentation/admin-guide/media
> - Documentation/driver-api/media
> - Documentation/userspace-api/media
> - - Documentation/devicetree/bindings/media/\ [1]_
> - - include/media
>
> .. [1] Device tree bindings are maintained by the
> OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS maintainers
> @@ -27,19 +33,264 @@ It covers, mainly, the contents of those directories:
> Both media userspace and Kernel APIs are documented and the documentation
> must be kept in sync with the API changes. It means that all patches that
> add new features to the subsystem must also bring changes to the
> -corresponding API files.
> +corresponding API documentation.
>
> -Due to the size and wide scope of the media subsystem, media's
> -maintainership model is to have sub-maintainers that have a broad
> -knowledge of a specific aspect of the subsystem. It is the sub-maintainers'
> -task to review the patches, providing feedback to users if the patches are
> -following the subsystem rules and are properly using the media kernel and
> -userspace APIs.
> +A small subsystem will typically consist of driver maintainers (as listed
> +in the MAINTAINERS file) and one or two subsystem maintainers who merge
> +the patches when ready, maintain the subsystem core code and make the pull
> +requests to Linus. Due to the size and wide scope of the Media Subsystem
> +this does not scale and more maintainance layers are needed.
>
> -Patches for the media subsystem must be sent to the media mailing list
> -at linux-media@vger.kernel.org as plain text only e-mail. Emails with
> -HTML will be automatically rejected by the mail server. It could be wise
> -to also copy the sub-maintainer(s).
> +Media Maintainers
> +-----------------
> +
> +The media subsystem has three layers of media maintainers:
> +
> +- Media Maintainer:
> + Responsible for a group of drivers within the Media Subsystem. Typically
> + these are all drivers that have something in common, e.g. codec drivers
> + or drivers from the same vendor. Media Maintainers provide feedback if the
> + patches are not following the subsystem rules, or are not using the
> + media kernel or userspace APIs correctly, or have poor code quality. They
> + also keep patchwork up to date, decide when patches are ready for merging,
> + and create Pull Requests for the Media Subsystem Maintainers to merge.
> +
> + A Media Maintainer is not just someone who is capable of creating code, but
> + someone who has demonstrated their ability to collaborate with the team, get
> + the most knowledgeable people to review code, contribute high-quality code,
> + and follow through to fix issues (in code or tests).
> +
> +- Media Core Maintainer:
> + Media Maintainers who are also responsible for one or more media core
> + frameworks.
> +
> + Core framework changes are done via consensus between the relevant Media
> + Core Maintainers. Media Maintainers may include core framework changes in
> + their Pull Requests if they are signed off by the relevant Media Core
> + Maintainers.
> +
> +- Media Subsystem Maintainers:
> + Responsible for the subsystem as a whole, with access to the
> + entire subsystem. Responsible for merging Pull Requests from other
> + Media Maintainers.
> +
> + Userspace API/ABI changes are done via consensus between Media Subsystem
> + Maintainers\ [2]_. Media (Core) Maintainers may include API/ABI changes in
> + their Pull Requests if they are signed off by the all Media Subsystem
> + Maintainers.
> +
> +All Media Maintainers shall explicitly agree with the Kernel development process
> +as described at Documentation/process/index.rst and to the Kernel
> +development rules inside the Kernel documentation, including its code of
> +conduct.
> +
> +All Media Maintainers shall ensure that patchwork will reflect the current
How about making patchwork a link to our patchwork. Note that patchwork is
mentioned a few times in this file, all of them could be a link.
> +status, e.g. patches shall be delegated to the Media Maintainer who is
> +handling them and the patch status shall be updated according to these rules:
> +
> +- ``Under Review``: Used if the patch requires a second opinion
> + or when it is part of a pull request;
> +- ``Accepted``: Once a patch is merged in the multi-committer tree.
> +- ``Superseded``: There is a newer version of the patch posted to the
> + mailing list.
> +- ``Duplicated``: There was another patch doing the same thing from someone
> + else that was accepted.
> +- ``Not Applicable``: Use for patch series that are not merged at media.git
> + tree (e.g. drm, dmabuf, upstream merge, etc.) but were cross-posted to the
> + linux-media mailing list.
> +
> +If the Media Maintainer decides not to accept a patch, then reply by email to
> +the patch authors, explaining why it is not accepted, and patchwork shall be
> +updated accordingly with either:
> +
> +- ``Changes Requested``: if a new revision was requested;
> +- ``Rejected``: if the proposed change is not acceptable at all.
> +
> +.. Note::
> +
> + Patchwork supports a couple of clients to help semi-automating
> + status updates via its REST interface:
> +
> + https://patchwork.readthedocs.io/en/latest/usage/clients/
> +
> +Media Maintainers are reachable via the #linux-media IRC channel at OFTC.
> +
> +.. [2] Everything that would break backward compatibility with existing
> + non-kernel code are API/ABI changes. This includes ioctl and sysfs
> + interfaces, v4l2 controls, and their behaviors.
> +
> +Becoming a Media Maintainer
> +---------------------------
> +
> +The most important aspect of volunteering to be a Media Maintainer is that you
> +have demonstrated the ability to give good code reviews. So we are looking for
> +whether or not we think you will be good at doing that.
> +
> +As such, potential maintainers must earn enough credibility and trust from the
> +Linux Media Community. To do that, developers shall be familiar with the open
> +source model and have been active in the Linux Kernel community for some time,
> +and, in particular, in the media subsystem.
> +
> +In addition to actually making the code changes, you are basically
> +demonstrating your:
> +
> +- commitment to the project;
> +- ability to collaborate with the team and communicate well;
> +- understand of how upstream and the Linux Media Community work
> + (policies, processes for testing, code review, ...)
> +- reasonable knowledge about:
> +
> + - the Kernel development process:
> + Documentation/process/index.rst
> +
> + - the Media development profile:
> + Documentation/driver-api/media/maintainer-entry-profile.rst
> +
> +- understanding of the projects' code base and coding style;
> +- ability to provide feedback to the patch authors;
> +- ability to judge when a patch might be ready for review and to submit;
> +- ability to write good code (last but certainly not least).
> +
> +Developers that desire to become maintainers are encouraged to participate
> +at the yearly Linux Media Summit, typically co-located with a Linux related
> +conference. These summits will be announced at the linux-media mailing list.
These summits are announced on the linux-media mailing list.
> +
> +If you are doing such tasks and have become a valued developer, an
> +existing Media Maintainer can nominate you to the Media Subsystem Maintainers.
> +
> +The ultimate responsibility for accepting a nominated maintainer is up to
> +the subsystem's maintainers. The nominated maintainer must have earned a trust
> +relationship with all Media Subsystem Maintainers, as, by becoming Media
> +Maintainer, you will take over part of their maintenance tasks.
> +
> +Media Committers
> +----------------
> +
> +Experienced and trusted Media (Core) Maintainers may be granted commit rights
> +which allow them to directly push patches to the media development tree instead
> +of posting a Pull Request for the Media Subsystem Maintainers. This helps
> +offloading some of the work of the Media Subsystem Maintainers.
> +
> +Media development tree
> +----------------------
> +
> +The main development tree used by the media subsystem is hosted at
> +gitlab.freedesktop.org. LinuxTV.org hosts news about the subsystem, wiki pages
> +and a patchwork instance where we track patches though their lifetime.
Should all be links (LinuxTV.org, patchwork, wiki, gitlab.freedesktop.org).
> +
> +The main tree used by media developers is at:
> +
> +https://gitlab.freedesktop.org/linux-media/media-committers.git
> +
> +Please note that this tree can be rebased, although only as a last resort.
> +
> +.. _Media development workflow:
> +
> +Media development workflow
> +++++++++++++++++++++++++++
> +
> +All changes for the media subsystem shall be sent first as e-mails to the
> +media mailing list, following the process documented at
> +Documentation/process/index.rst.
> +
> +It means that patches shall be submitted as plain text only via e-mail to
> +linux-media@vger.kernel.org (aka: LMML). While subscription is not mandatory,
> +you can find details about how to subscribe to it and to see its archives at:
> +
> + https://subspace.kernel.org/vger.kernel.org.html
> +
> +Emails with HTML will be automatically rejected by the mail server.
> +
> +It could be wise to also copy the Media Maintainer(s). You should use
> +``scripts/get_maintainers.pl`` to identify whom else needs to be copied.
> +Please always copy driver's authors and maintainers.
git config for using scripts/get_maintainers.pl is useful
> +
> +To minimize the chance of merge conflicts for your patch series, and make
> +easier to backport patches to stable Kernels, we recommend that you use the
> +following baseline for your patch series:
> +
> +1. Features for the next mainline release:
> +
> + - baseline shall be the media-committers.git ``next`` branch;
> +
> +2. Bug fixes for the next mainline release:
> +
> + - baseline shall be the media-committers.git ``next`` branch. If the
> + changes depend on a fix from the media-committers.git
> + ``fixes`` branch, then you can use that as baseline.
> +
> +3. Bug fixes for the current mainline release (-rcX):
> +
> + - baseline shall be the latest mainline -rcX release or the
> + media-committers.git ``fixes`` branch if changes depend on a mainline
> + fix that is not yet merged;
> +
> +.. Note::
> +
> + See https://www.kernel.org/category/releases.html for an overview
> + about Kernel release types.
> +
> +Patches with fixes shall have:
> +
> +- a ``Fixes:`` tag pointing to the first commit that introduced the bug;
> +- when applicable, a ``Cc: stable@vger.kernel.org``.
> +
> +Patches that were fixing bugs publicly reported by someone at the
> +linux-media@vger.kernel.org mailing list shall have:
> +
> +- a ``Reported-by:`` tag immediately followed by a ``Closes:`` tag.
> +
> +Patches that change API shall update documentation accordingly at the
> +same patch series.
> +
> +See Documentation/process/index.rst for more details about e-mail submission.
> +
> +Once a patch is submitted, it may follow either one of the following
> +workflows:
> +
> +a. Media Maintainers' workflow: Media Maintainers post the PRs, which
> + are handled by the Media Subsystem Maintainers::
> +
> + +-------+ +------------+ +------+ +-------+ +----------------------------+
> + |e-mail |-->|picked up by|-->|code |-->|pull |-->|Subsystem Maintainers merge |
> + |to LMML| |patchwork | |review| |request| |in media-committers.git |
> + +-------+ +------------+ +------+ +-------+ +----------------------------+
> +
> + For this workflow, pull requests are generated by Media Maintainers.
> + If you are not a Media Maintainer, then please don't submit pull requests,
> + as they will not be processed.
> +
> +b. Media Committers' workflow: patches are handled by Media Maintainers with
> + commit rights::
> +
> + +-------+ +------------+ +------+ +--------------------------+
> + |e-mail |-->|picked up by|-->|code |-->|Media Committers merge in |
> + |to LMML| |patchwork | |review| |media-committers.git |
> + +-------+ +------------+ +------+ +--------------------------+
> +
> +When patches are picked up by patchwork and when merged at media-committers,
> +Media CI bots will check for errors and may provide e-mail feedback about
> +patch problems. When this happens, the patch submitter must fix them or
> +explain why the errors are false positives.
> +
> +Patches will only be moved to the next stage in these two workflows if they
> +pass on Media CI or if there are false-positives in the Media CI reports.
> +
> +For both workflows, all patches shall be properly reviewed at
> +linux-media@vger.kernel.org (LMML) before being merged in media-committers.git.
> +Media patches will be reviewed in a timely manner by the maintainers and
> +reviewers as listed in the MAINTAINERS file.
> +
> +Media Maintainers shall request reviews from other Media Maintainers and
> +developers where applicable, i.e. because those developers have more
> +knowledge about some areas that are changed by a patch.
> +
> +There shall be no open issues or unresolved or conflicting feedback
> +from anyone. Clear them up first. Defer to the Media Subsystem
> +Maintainers if needed.
> +
> +Failures during e-mail submission
> ++++++++++++++++++++++++++++++++++
>
> Media's workflow is heavily based on Patchwork, meaning that, once a patch
> is submitted, the e-mail will first be accepted by the mailing list
> @@ -47,51 +298,49 @@ server, and, after a while, it should appear at:
>
> - https://patchwork.linuxtv.org/project/linux-media/list/
>
> -If it doesn't automatically appear there after a few minutes, then
> +If it doesn't automatically appear there after some time [3]_, then
> probably something went wrong on your submission. Please check if the
> -email is in plain text\ [2]_ only and if your emailer is not mangling
> +email is in plain text\ [4]_ only and if your emailer is not mangling
> whitespaces before complaining or submitting them again.
>
> -You can check if the mailing list server accepted your patch, by looking at:
> +To troubleshoot problems, you should first check if the mailing list
> +server has accepted your patch, by looking at:
>
> - https://lore.kernel.org/linux-media/
>
> -.. [2] If your email contains HTML, the mailing list server will simply
> +If the patch is there and not at patchwork, it is likely that your e-mailer
> +mangled the patch. Patchwork internally has logic that checks if the
> +received e-mail contains a valid patch. Any whitespace and new line
> +breakages mangling the patch won't be recognized by patchwork, thus such
> +patch will be rejected.
> +
> +.. [3] It usually takes a few minutes for the patch to arrive, but
> + the e-mail server may be busy, so it may take up a longer time
> + for a patch to be picked by patchwork.
> +
> +.. [4] If your email contains HTML, the mailing list server will simply
> drop it, without any further notice.
>
> +.. _media-developers-gpg:
>
> -Media maintainers
> -+++++++++++++++++
> +Authentication for pull and merge requests
> +++++++++++++++++++++++++++++++++++++++++++
>
> -At the media subsystem, we have a group of senior developers that
> -are responsible for doing the code reviews at the drivers (also known as
> -sub-maintainers), and another senior developer responsible for the
> -subsystem as a whole. For core changes, whenever possible, multiple
> -media maintainers do the review.
> +The authenticity of developers submitting pull requests and merge requests
> +shall be validated by using PGP signing at some moment.
> +See: :ref:`kernel_org_trust_repository`.
>
> -The media maintainers that work on specific areas of the subsystem are:
> +With the pull request workflow, pull requests shall use PGP-signed tags.
>
> -- Remote Controllers (infrared):
> - Sean Young <sean@mess.org>
> +For more details about PGP sign, please read
> +Documentation/process/maintainer-pgp-guide.rst.
>
> -- HDMI CEC:
> - Hans Verkuil <hverkuil@kernel.org>
> +Subsystem Media Maintainers
> +---------------------------
>
> -- Media controller drivers:
> - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> -
> -- ISP, v4l2-async, v4l2-fwnode, v4l2-flash-led-class and Sensor drivers:
> - Sakari Ailus <sakari.ailus@linux.intel.com>
> -
> -- V4L2 drivers and core V4L2 frameworks:
> - Hans Verkuil <hverkuil@kernel.org>
> -
> -The subsystem maintainer is:
> - Mauro Carvalho Chehab <mchehab@kernel.org>
> -
> -Media maintainers may delegate a patch to other media maintainers as needed.
> -On such case, checkpatch's ``delegate`` field indicates who's currently
> -responsible for reviewing a patch.
> +The subsystem maintainers are:
> + - Mauro Carvalho Chehab <mchehab@kernel.org>
> + - Hans Verkuil <hverkuil@kernel.org>
>
> Submit Checklist Addendum
> -------------------------
> @@ -106,18 +355,15 @@ that should be used in order to check if the drivers are properly
> implementing the media APIs:
>
> ==================== =======================================================
> -Type Tool
> +Type Utility
> ==================== =======================================================
> -V4L2 drivers\ [3]_ ``v4l2-compliance``
> +V4L2 drivers\ [5]_ ``v4l2-compliance``
> V4L2 virtual drivers ``contrib/test/test-media``
> CEC drivers ``cec-compliance``
> ==================== =======================================================
>
> -.. [3] The ``v4l2-compliance`` also covers the media controller usage inside
> - V4L2 drivers.
> -
> -Other compliance tools are under development to check other parts of the
> -subsystem.
> +.. [5] The ``v4l2-compliance`` utility also covers the media controller usage
> + inside V4L2 drivers.
>
> Those tests need to pass before the patches go upstream.
>
> @@ -134,6 +380,8 @@ Where the check script is::
> Be sure to not introduce new warnings on your patches without a
> very good reason.
>
> +Please see `Media development workflow`_ for e-mail submission rules.
> +
> Style Cleanup Patches
> +++++++++++++++++++++
>
> @@ -183,23 +431,23 @@ In particular, we accept lines with more than 80 columns:
> Key Cycle Dates
> ---------------
>
> -New submissions can be sent at any time, but if they intend to hit the
> +New submissions can be sent at any time, but if they are intended to hit the
> next merge window they should be sent before -rc5, and ideally stabilized
> in the linux-media branch by -rc6.
>
> Review Cadence
> --------------
>
> -Provided that your patch is at https://patchwork.linuxtv.org, it should
> +Provided that your patch has landed in https://patchwork.linuxtv.org, it should
> be sooner or later handled, so you don't need to re-submit a patch.
>
> -Except for bug fixes, we don't usually add new patches to the development
> -tree between -rc6 and the next -rc1.
> +Except for important bug fixes, we don't usually add new patches to the
> +development tree between -rc6 and the next -rc1.
>
> Please notice that the media subsystem is a high traffic one, so it
> could take a while for us to be able to review your patches. Feel free
> to ping if you don't get a feedback in a couple of weeks or to ask
> -other developers to publicly add Reviewed-by and, more importantly,
> +other developers to publicly add ``Reviewed-by:`` and, more importantly,
> ``Tested-by:`` tags.
>
> Please note that we expect a detailed description for ``Tested-by:``,
> --
> 2.51.0
next prev parent reply other threads:[~2025-10-27 22:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-27 13:28 [PATCHv6 0/3] docs: media: multicommitters model documentation Hans Verkuil
2025-10-27 13:28 ` [PATCHv6 1/3] docs: media: update maintainer-entry-profile for multi-committers Hans Verkuil
2025-10-27 22:06 ` Sean Young [this message]
2025-10-28 8:25 ` Hans Verkuil
2025-10-28 9:10 ` Sean Young
2025-10-27 13:28 ` [PATCHv6 2/3] docs: media: document media multi-committers rules and process Hans Verkuil
2025-10-27 13:28 ` [PATCHv6 3/3] docs: media: document Media Maintainers Hans Verkuil
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=aP_s8D35617s6JWU@gofer.mess.org \
--to=sean@mess.org \
--cc=bryan.odonoghue@linaro.org \
--cc=hverkuil+cisco@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab+huawei@kernel.org \
--cc=nicolas.dufresne@collabora.com \
--cc=ribalda@chromium.org \
--cc=sakari.ailus@linux.intel.com \
/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;
as well as URLs for NNTP newsgroup(s).