Skip to contentSkip to conversation

multicommiters model documentation

PATCH Superseded Mauro Carvalho Chehab 2 participants 8 messages Aug 22, 2025 – Sep 22, 2025

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v5 cover multicommiters model documentation

This is a respin over the latest discussions with regards to the media multicommitters model.

Feel free to reply with tecnical comments to the text, but personal attacks and CoC violations won't be tolerated this time.

Mauro Carvalho Chehab (5):
docs: maintainer-pgp-guide.rst: add a reference for kernel.org sign
MAINTAINERS: fix a couple issues at media input infrastructure
docs: media: update maintainer-entry-profile for multi-committers
docs: media: document media multi-committers rules and process
docs: media: profile: make it clearer about maintainership duties

 Documentation/driver-api/media/index.rst      |   1 +
 .../media/maintainer-entry-profile.rst        | 256 ++++++++++++----
 .../driver-api/media/media-committer.rst      | 280 ++++++++++++++++++
 .../process/maintainer-pgp-guide.rst          |   2 +
 MAINTAINERS                                   |   3 +-
 5 files changed, 490 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/driver-api/media/media-committer.rst
Signature · 1 line
2.50.1
#1 lore raw

PATCH v5 1/5 docs: maintainer-pgp-guide.rst: add a reference for kernel.org sign

The media profile documentation will point to kernel.org sign. Add a link to it.

---
 Documentation/process/maintainer-pgp-guide.rst | 2 ++
 1 file changed, 2 insertions(+)
Documentation/process/maintainer-pgp-guide.rst +2 -0
index f5277993b195..795ef8d89271 100644
@@ -903,6 +903,8 @@ the new default in GnuPG v2). To set it, add (or modify) the
 
     trust-model tofu+pgp
 
+.. _kernel_org_trust_repository:
+
 Using the kernel.org web of trust repository
 --------------------------------------------
 
Signature · 1 line
2.50.1
#2 lore raw

PATCH v5 2/5 MAINTAINERS: fix a couple issues at media input infrastructure

In reply to Mauro Carvalho Chehab

The media input infrastructure is missing a record for our maintainer's entry profile. Also, patchwork link is wrong.

Fix it.

---
 MAINTAINERS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
MAINTAINERS +2 -1
index fe168477caa4..6934c453bc48 100644
@@ -15415,8 +15415,9 @@ MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
 M:	Mauro Carvalho Chehab <[email protected]>
 L:	[email protected]
 S:	Maintained
+P:	Documentation/driver-api/media/maintainer-entry-profile.rst
 W:	https://linuxtv.org
-Q:	http://patchwork.kernel.org/project/linux-media/list/
+Q:	https://patchwork.linuxtv.org/project/linux-media/list/
 T:	git git://linuxtv.org/media.git
 F:	Documentation/admin-guide/media/
 F:	Documentation/devicetree/bindings/media/
Signature · 1 line
2.50.1
#3 lore raw

PATCH v5 3/5 docs: media: update maintainer-entry-profile for multi-committers

In reply to Mauro Carvalho Chehab

As the media subsystem will experiment with a multi-committers model, update the Maintainer's entry profile to the new rules.

---
 .../media/maintainer-entry-profile.rst        | 245 ++++++++++++++----
 1 file changed, 193 insertions(+), 52 deletions(-)
Documentation/driver-api/media/maintainer-entry-profile.rst +193 -52
index ad96a89ee916..66573c763e76 100644
@@ -4,11 +4,16 @@ 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) consist of developers
+who work with the Linux Kernel media subsystem, together with users who
+benefit from such develoment and help testing the developed code.
 
-It covers, mainly, the contents of those directories:
+They work on the top of the Media tree, which has code to support a
+variety of devices: stream capture, analog and digital TV streams, cameras,
+remote controllers, HDMI CEC and media pipeline control.
+
+The Media tree is mainly responsible to be the main source of the
+code under development with the contents of those directories:
 
   - drivers/media
   - drivers/staging/media
@@ -27,19 +32,158 @@ 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
+Due to the size and wide scope of the media subsystem, the media's
+maintainance model recognizes committers that have a broad knowledge of
+a specific aspect of the subsystem. It is the committers' 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.
 
-Patches for the media subsystem must be sent to the media mailing list
-at [email protected] 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 committers
+----------------
+
+In the media subsystem, there are experienced developers who can push
+patches directly to the development tree. These developers are called
+Media committers and are divided into the following categories:
+
+- Committers:
+    contributors for one or more drivers within the media subsystem.
+    They can push changes to the tree that do not affect the core or ABI.
+
+- Core committers:
+    responsible for part of the media core. They are typically
+    responsible for one or more drivers within the media subsystem, but, besides
+    that, they can also merge patches that change the code common to multiple
+    drivers, including the kernel internal API.
+
+- Subsystem maintainers:
+    responsible for the subsystem as a whole, with access to the
+    entire subsystem.
+
+    API/ABI changes are done via consensus between subsystem maintainers\ [2]_.
+
+    Only subsystem maintainers push changes that affect the userspace
+    API/ABI. Committers may push ABI/API changes on their commits if they
+    have approvals from subsystem maintainers.
+
+All media committers 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.
+
+.. [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.
+
+Media development tree
+----------------------
+
+The main development tree used by the media subsystem is hosted at LinuxTV.org,
+where we also maintain news about the subsystem, wiki pages and a patchwork
+instance where we track patches though their lifetime.
+
+The main tree used by media developers is at:
+
+https://git.linuxtv.org/media.git/
+
+.. _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
[email protected] (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 committer(s). You should use
+``scripts/get_maintainers.pl`` to identify whom else needs to be copied.
+Please always copy driver's authors and maintainers.
+
+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 media.git ``next`` branch;
+
+2. Bug fixes for the current mainline release:
+
+   - baseline shall be the latest mainline release or media.git ``fixes``
+     if changes depend on a fix already merged;
+
+3. Bug fixes for the next mainline release:
+
+   - baseline shall be a prepatch release (-rcX) or media.git ``fixes``
+     if changes depend on a fix already merged. It is also
+     fine to use media.git ``next`` as baseline for such patches if such
+     patches apply cleanly on ``fixes``.
+
+.. 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: [email protected]``.
+
+Patches that were fixing bugs publicly reported by someone at the
[email protected] 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. Pull request workflow: patches are handled by subsystem maintainers::
+
+     +-------+   +---------+   +-------+   +-----------------------+   +---------+
+     |e-mail |-->|patchwork|-->|pull   |-->|maintainers merge      |-->|media.git|
+     |to LMML|   |picks it |   |request|   |in media-committers.git|   +---------+
+     +-------+   +---------+   +-------+   +-----------------------+
+
+   For this workflow, pull requests can be generated by committers,
+   former committers, subsystem maintainers or by trusted long-time
+   contributors. If you are not in such group, please don't submit
+   pull requests, as they will not be processed.
+
+b. Committers' workflow: patches are handled by media committers::
+
+     +-------+   +---------+   +--------------------+   +-----------+   +---------+
+     |e-mail |-->|patchwork|-->|committers merge at |-->|maintainers|-->|media.git|
+     |to LMML|   |picks it |   |media-committers.git|   |approval   |   +---------+
+     +-------+   +---------+   +--------------------+   +-----------+
+
+On both workflows, all patches shall be properly reviewed at
[email protected] (LMML) before being merged at media-committers.git.
+
+When patches are picked by patchwork and when merged at media-committers,
+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 those two workflows if they
+pass on CI or if there are false-positives in the CI reports.
+
+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 +191,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 to a few hours
+       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 <[email protected]>
+For more details about PGP sign, please read
+Documentation/process/maintainer-pgp-guide.rst.
 
-- HDMI CEC:
-    Hans Verkuil <[email protected]>
+Subsystem maintainers
+---------------------
 
-- Media controller drivers:
-    Laurent Pinchart <[email protected]>
-
-- ISP, v4l2-async, v4l2-fwnode, v4l2-flash-led-class and Sensor drivers:
-    Sakari Ailus <[email protected]>
-
-- V4L2 drivers and core V4L2 frameworks:
-    Hans Verkuil <[email protected]>
-
-The subsystem maintainer is:
-  Mauro Carvalho Chehab <[email protected]>
-
-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 <[email protected]> and
+  - Hans Verkuil <[email protected]>
 
 Submit Checklist Addendum
 -------------------------
@@ -106,18 +248,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 +273,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
 +++++++++++++++++++++
 
@@ -199,7 +340,7 @@ 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:``,
Signature · 1 line
2.50.1
#4 lore raw

Re: [PATCH v5 3/5] docs: media: update maintainer-entry-profile for multi-committers

Hi Mauro,

I have a number of comments, nothing major (I think). Mostly typos and consistency issues.

Quoted 5 lines · Mauro Carvalho Chehab

As the media subsystem will experiment with a multi-committers model, update the Maintainer's entry profile to the new rules.

Can you update my SoB email address to [email protected] for this patch series?

For v6, please include linux-media as CC for the first two patches as well. Currently patches 1 and 2 do not appear in patchwork for that reason. I had to hunt for those two patches. And also Cc a v6 to my new email address rather than the old xs4all address.

Quoted 10 lines
---
 .../media/maintainer-entry-profile.rst        | 245 ++++++++++++++----
 1 file changed, 193 insertions(+), 52 deletions(-)
Documentation/driver-api/media/maintainer-entry-profile.rst +0 -0
index ad96a89ee916..66573c763e76 100644

Documentation/driver-api/media/maintainer-entry-profile.rst Media Subsystem Profile · line 9

Quoted 9 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +3 -3
@@ -4,11 +4,16 @@ 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) consist of developers
+who work with the Linux Kernel media subsystem, together with users who
+benefit from such develoment and help testing the developed code.

Typo: develoment -> development

Quoted 14 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +6 -1
-It covers, mainly, the contents of those directories:
+They work on the top of the Media tree, which has code to support a
+variety of devices: stream capture, analog and digital TV streams, cameras,
+remote controllers, HDMI CEC and media pipeline control.
+
+The Media tree is mainly responsible to be the main source of the
+code under development with the contents of those directories:
 
   - drivers/media
   - drivers/staging/media
@@ -27,19 +32,158 @@ 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

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 38

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +3 -5
 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
+Due to the size and wide scope of the media subsystem, the media's
+maintainance model recognizes committers that have a broad knowledge of

maintainance -> maintenance

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 42

Quoted 4 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+a specific aspect of the subsystem. It is the committers' 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.

I think you mean: "if the patches are not" and "or are not properly"

After all, if the patch is doing everything correctly, then you can just take the patch and you don't need to give feedback...

Also, I'd say 'the patch authors' rather than 'users'. Or perhaps just drop the 'to users' bit. It's not really needed.

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 51

Quoted 13 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +8 -4
-Patches for the media subsystem must be sent to the media mailing list
-at [email protected] 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 committers
+----------------
+
+In the media subsystem, there are experienced developers who can push
+patches directly to the development tree. These developers are called
+Media committers and are divided into the following categories:
+
+- Committers:

Committers -> Media Committers

(it's what we call it in the preceding paragraph as well, and 'Committers' is also too generic, this is specific media subsystem terminology)

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 53

Quoted 2 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+    contributors for one or more drivers within the media subsystem.
+    They can push changes to the tree that do not affect the core or ABI.

ABI -> userspace API/ABI

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 54

Quoted 2 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+
+- Core committers:

Media Core Committers

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 61

Quoted 6 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +6 -0
+    responsible for part of the media core. They are typically
+    responsible for one or more drivers within the media subsystem, but, besides
+    that, they can also merge patches that change the code common to multiple
+    drivers, including the kernel internal API.
+
+- Subsystem maintainers:

Media Subsystem Maintainers

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 65

Quoted 4 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +4 -0
+    responsible for the subsystem as a whole, with access to the
+    entire subsystem.
+
+    API/ABI changes are done via consensus between subsystem maintainers\ [2]_.

subsystem -> media subsystem

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 66

Quoted 2 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+
+    Only subsystem maintainers push changes that affect the userspace

subsystem -> media subsystem

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 68

Quoted 1 line
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -0
+    API/ABI. Committers may push ABI/API changes on their commits if they

ABI/API -> API/ABI
Committers -> Media committers

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 69

Quoted 1 line
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -0
+    have approvals from subsystem maintainers.

subsystem -> the media subsystem

This section is confusing: first you say that *only* media subsystem maintainers can push userspace changes, then you say that media committers can do that as well, if they have approval.

I think it should be OK for media committers to make API/ABI changes, provided they have the SoB of all media subsystem maintainers. But in that case, the 'Only' bit has to be dropped.

How about this:

---------------------------------------------------------------
- Media Subsystem Maintainers:

responsible for the media subsystem as a whole, with access to the entire media subsystem.

API/ABI changes are done via consensus between the media subsystem maintainers\ [2]_.

The media subsystem maintainers push changes that affect the userspace API/ABI. Media committers may push API/ABI changes on their commits as well, but only if they have approval (Signed-off-by) of all media subsystem maintainers.
---------------------------------------------------------------

I think this is clear, and it is also something that Media CI can easily test for.

Quoted 39 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +39 -0
+
+All media committers 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.
+
+.. [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.
+
+Media development tree
+----------------------
+
+The main development tree used by the media subsystem is hosted at LinuxTV.org,
+where we also maintain news about the subsystem, wiki pages and a patchwork
+instance where we track patches though their lifetime.
+
+The main tree used by media developers is at:
+
+https://git.linuxtv.org/media.git/
+
+.. _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
[email protected] (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 committer(s). You should use

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 118

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +10 -0
+``scripts/get_maintainers.pl`` to identify whom else needs to be copied.
+Please always copy driver's authors and maintainers.
+
+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 media.git ``next`` branch;

I'm fine with this for now, but in practice we use the media-committers tree on gitlab. I haven't used media.git in quite a long time.

Just wondering if we should update this, or postpone that for a later patch.

Quoted 27 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +27 -0
+
+2. Bug fixes for the current mainline release:
+
+   - baseline shall be the latest mainline release or media.git ``fixes``
+     if changes depend on a fix already merged;
+
+3. Bug fixes for the next mainline release:
+
+   - baseline shall be a prepatch release (-rcX) or media.git ``fixes``
+     if changes depend on a fix already merged. It is also
+     fine to use media.git ``next`` as baseline for such patches if such
+     patches apply cleanly on ``fixes``.
+
+.. 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: [email protected]``.
+
+Patches that were fixing bugs publicly reported by someone at the
[email protected] mailing list shall have:
+
+- a ``Reported-by:`` tag immediately followed by a ``Closes:`` tag.

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 155

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +10 -0
+
+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. Pull request workflow: patches are handled by subsystem maintainers::

subsystem -> media subsystem

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 165

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +10 -0
+
+     +-------+   +---------+   +-------+   +-----------------------+   +---------+
+     |e-mail |-->|patchwork|-->|pull   |-->|maintainers merge      |-->|media.git|
+     |to LMML|   |picks it |   |request|   |in media-committers.git|   +---------+
+     +-------+   +---------+   +-------+   +-----------------------+
+
+   For this workflow, pull requests can be generated by committers,
+   former committers, subsystem maintainers or by trusted long-time
+   contributors. If you are not in such group, please don't submit
+   pull requests, as they will not be processed.

I want to limit this to "media committers". That's the current practice. I'm fine with extending this, but that requires a separate discussion.

See also this discussion on the mailinglist:

https://lore.kernel.org/linux-media/[email protected]/

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 166

Quoted 2 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+
+b. Committers' workflow: patches are handled by media committers::

Committers' -> Media committers'

Quoted 6 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +6 -0
+
+     +-------+   +---------+   +--------------------+   +-----------+   +---------+
+     |e-mail |-->|patchwork|-->|committers merge at |-->|maintainers|-->|media.git|
+     |to LMML|   |picks it |   |media-committers.git|   |approval   |   +---------+
+     +-------+   +---------+   +--------------------+   +-----------+
+

Documentation/driver-api/media/maintainer-entry-profile.rst It covers, mainly, the contents of those directories: · line 183

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +10 -0
+On both workflows, all patches shall be properly reviewed at
[email protected] (LMML) before being merged at media-committers.git.
+
+When patches are picked by patchwork and when merged at media-committers,
+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 those two workflows if they
+pass on CI or if there are false-positives in the CI reports.

"maintainers approval": this step is never explained, and I'm not sure what is meant with that.

Personally I think the bit about 'patchwork picks it' is a bit confusing. It suggests that patchwork is involved in the committing of patches, which is definitely not the case. It does do a CI run, but that's about it. I'd drop that part in both workflows, as I don't think it is relevant for this.

You can say: 'picked up by patchwork' in the sense that the e-mail is added to patchwork so the patch/PR status can be traced.

Quoted 54 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +24 -12
+
+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 +191,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 to a few hours
+       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:

Documentation/driver-api/media/maintainer-entry-profile.rst server, and, after a while, it should appear at: · line 231

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +4 -4
+With the pull request workflow, pull requests shall use PGP-signed tags.
 
-- Remote Controllers (infrared):
-    Sean Young <[email protected]>
+For more details about PGP sign, please read
+Documentation/process/maintainer-pgp-guide.rst.
 
-- HDMI CEC:
-    Hans Verkuil <[email protected]>
+Subsystem maintainers

Subsystem -> Media subsystem

Quoted 8 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -6
+---------------------
 
-- Media controller drivers:
-    Laurent Pinchart <[email protected]>
-
-- ISP, v4l2-async, v4l2-fwnode, v4l2-flash-led-class and Sensor drivers:
-    Sakari Ailus <[email protected]>
-

Documentation/driver-api/media/maintainer-entry-profile.rst server, and, after a while, it should appear at: · line 234

Quoted 10 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -9
-- V4L2 drivers and core V4L2 frameworks:
-    Hans Verkuil <[email protected]>
-
-The subsystem maintainer is:
-  Mauro Carvalho Chehab <[email protected]>
-
-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:

subsystem -> media subsystem

Documentation/driver-api/media/maintainer-entry-profile.rst server, and, after a while, it should appear at: · line 236

Quoted 2 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+  - Mauro Carvalho Chehab <[email protected]> and
+  - Hans Verkuil <[email protected]>

Please change the email to [email protected].

One problem I have with this change is that we lose the information about who maintains what. This document is about media committers, and right now us two are the only committers, so strictly speaking this is correct.

But in practice a lot of what is in this document is about maintenance responsibilities, and commit rights is just an extra checkmark. I.e. to become a media committer you must be a media maintainer, but the reverse isn't true.

For patch submitters it is important to know who the maintainers are, since they have to sign off on it and either make the PR or can commit the patch.

This change deletes the list of maintainers and their expert areas, and I think we need to keep it around somewhere. And update it as well, since it is outdated.

Quoted 36 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +6 -7
 Submit Checklist Addendum
 -------------------------
@@ -106,18 +248,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 +273,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
 +++++++++++++++++++++
 

Documentation/driver-api/media/maintainer-entry-profile.rst tree between -rc6 and the next -rc1. · line 346

Quoted 8 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -1
@@ -199,7 +340,7 @@ 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:``,

Regards,

Hans

#5 lore raw

PATCH v5 4/5 docs: media: document media multi-committers rules and process

In reply to Mauro Carvalho Chehab

As the media subsystem will experiment with a multi-committers model, update the Maintainer's entry profile to the new rules, and add a file documenting the process to become a committer and to maintain such rights.

---
 Documentation/driver-api/media/index.rst      |   1 +
 .../media/maintainer-entry-profile.rst        |   8 +
 .../driver-api/media/media-committer.rst      | 280 ++++++++++++++++++
 3 files changed, 289 insertions(+)
 create mode 100644 Documentation/driver-api/media/media-committer.rst
Documentation/driver-api/media/index.rst +1 -0
index d5593182a3f9..d0c725fcbc67 100644
@@ -26,6 +26,7 @@ Documentation/userspace-api/media/index.rst
     :numbered:
 
     maintainer-entry-profile
+    media-committer
 
     v4l2-core
     dtv-core
Documentation/driver-api/media/maintainer-entry-profile.rst +8 -0
index 66573c763e76..41a1a2326bef 100644
@@ -73,6 +73,9 @@ as described at Documentation/process/index.rst and to the Kernel
 development rules inside the Kernel documentation, including its code of
 conduct.
 
+More details about media commiters' roles and responsibilities can be
+found here: Documentation/driver-api/media/media-committer.rst.
+
 .. [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.
@@ -225,6 +228,11 @@ See: :ref:`kernel_org_trust_repository`.
 
 With the pull request workflow, pull requests shall use PGP-signed tags.
 
+With the committers' workflow, this is ensured at the time merge request
+rights will be granted to the gitlab instance used by the media-committers.git
+tree, after receiving the e-mail documented in
+:ref:`media-committer-agreement`.
+
 For more details about PGP sign, please read
 Documentation/process/maintainer-pgp-guide.rst.
 
Documentation/driver-api/media/media-committer.rst new file +280 -0

280 lines not on this page · raw message

Signature · 1 line
2.50.1
#6 lore raw

PATCH v5 5/5 docs: media: profile: make it clearer about maintainership duties

In reply to Mauro Carvalho Chehab

During the review of the media committer's profile, it was noticed that the responsibility for timely review patches was not clear:
such review is expected that all developers listed at MAINTAINERS with the "M:" tag (e.g. "maintainers" on its broad sense).

This is orthogonal of being a media committer or not. Such duty is implied at:

Documentation/admin-guide/reporting-issues.rst

and at the MAINTAINERS header, when it says that even when the status is "odd fixes", the patches will flow in.

So, let make it explicit at the maintainer-entry-profile that maintainers need to do timely reviews.

Also, while right now our focus is on granting committer rights to maintainers, the media-committer model may evolve in the future to accept other committers that don't have such duties.

So, make it clear at the media-committer.rst that the duties related to reviewing patches from others are for the drivers they are maintainers as well.

---
 Documentation/driver-api/media/maintainer-entry-profile.rst | 5 +++++
 Documentation/driver-api/media/media-committer.rst          | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)
Documentation/driver-api/media/maintainer-entry-profile.rst +5 -0
index 41a1a2326bef..67a18f82f857 100644
@@ -177,6 +177,11 @@ b. Committers' workflow: patches are handled by media committers::
 On both workflows, all patches shall be properly reviewed at
 [email protected] (LMML) before being merged at media-committers.git.
 
+Such patches will be reviewed timely by the maintainers and reviewers as
+listed in the MAINTAINERS file. The subsystem maintainers will follow one of
+the above workflows, e. g. they will either send a pull request or merge
+patches directly at the media-committers tree.
+
 When patches are picked by patchwork and when merged at media-committers,
 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
Documentation/driver-api/media/media-committer.rst +3 -3
index 3d0987a8a93b..0bc038a0fdcc 100644
@@ -90,9 +90,9 @@ be a part of their maintenance tasks.
 Due to that, to become a committer or a core committer, a consensus between
 all subsystem maintainers is required, as they all need to trust a developer
 well enough to be delegated the responsibility to maintain part of the code
-and to properly review patches from third parties, in a timely manner and
-keeping the status of the reviewed code at https://patchwork.linuxtv.org
-updated.
+and to properly review patches from third parties for the drivers that they
+maintain in a timely manner and keeping the status of the patches at
+https://patchwork.linuxtv.org updated.
 
 .. Note::
 
Signature · 1 line
2.50.1
#7 lore raw

Re: [PATCH v5 5/5] docs: media: profile: make it clearer about maintainership duties

Quoted 36 lines · Mauro Carvalho Chehab

During the review of the media committer's profile, it was noticed that the responsibility for timely review patches was not clear:
such review is expected that all developers listed at MAINTAINERS with the "M:" tag (e.g. "maintainers" on its broad sense).

This is orthogonal of being a media committer or not. Such duty is implied at:

Documentation/admin-guide/reporting-issues.rst

and at the MAINTAINERS header, when it says that even when the status is "odd fixes", the patches will flow in.

So, let make it explicit at the maintainer-entry-profile that maintainers need to do timely reviews.

Also, while right now our focus is on granting committer rights to maintainers, the media-committer model may evolve in the future to accept other committers that don't have such duties.

So, make it clear at the media-committer.rst that the duties related to reviewing patches from others are for the drivers they are maintainers as well.

---
 Documentation/driver-api/media/maintainer-entry-profile.rst | 5 +++++
 Documentation/driver-api/media/media-committer.rst          | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)
Documentation/driver-api/media/maintainer-entry-profile.rst +0 -0
index 41a1a2326bef..67a18f82f857 100644

Documentation/driver-api/media/maintainer-entry-profile.rst b. Committers' workflow: patches are handled by media committers:: · line 181

Quoted 5 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
@@ -177,6 +177,11 @@ b. Committers' workflow: patches are handled by media committers::
 On both workflows, all patches shall be properly reviewed at
 [email protected] (LMML) before being merged at media-committers.git.
 
+Such patches will be reviewed timely by the maintainers and reviewers as
+listed in the MAINTAINERS file. The subsystem maintainers will follow one of

You probably mean "media maintainers" instead of "subsystem maintainers".

Documentation/driver-api/media/maintainer-entry-profile.rst b. Committers' workflow: patches are handled by media committers:: · line 182

Quoted 1 line
Documentation/driver-api/media/maintainer-entry-profile.rst +1 -0
+the above workflows, e. g. they will either send a pull request or merge

e. g. -> e.g.

Quoted 12 lines
Documentation/driver-api/media/maintainer-entry-profile.rst +2 -0
+patches directly at the media-committers tree.
+
 When patches are picked by patchwork and when merged at media-committers,
 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
Documentation/driver-api/media/media-committer.rst +0 -0
index 3d0987a8a93b..0bc038a0fdcc 100644
@@ -90,9 +90,9 @@ be a part of their maintenance tasks.
 Due to that, to become a committer or a core committer, a consensus between
 all subsystem maintainers is required, as they all need to trust a developer

Documentation/driver-api/media/media-committer.rst be a part of their maintenance tasks. · line 98

Quoted 10 lines
Documentation/driver-api/media/media-committer.rst +3 -3
 well enough to be delegated the responsibility to maintain part of the code
-and to properly review patches from third parties, in a timely manner and
-keeping the status of the reviewed code at https://patchwork.linuxtv.org
-updated.
+and to properly review patches from third parties for the drivers that they
+maintain in a timely manner and keeping the status of the patches at
+https://patchwork.linuxtv.org updated.
 
 .. Note::
 

I think that it would make sense to just merge these changes into the preceding patches.

Regards,

Hans