Replace references to patman with b4 as the recommended tool for preparing and sending patches. b4 is widely adopted in the Linux kernel community and U-Boot ships with configuration to simplify its use with the project mailing list.
The updated guidelines describe how to prepare series with b4, handle cover letters and recipient lists, run style checks, and send patches safely. Instructions also highlight how to collect and apply review tags before resending. This change documents the preferred workflow for contributors and ensures consistency with common practices across related upstream communities. Signed-off-by: Javier Tia <[email protected]> --- This small series updates U-Boot's contributor guidelines to sync with current best practices around Linux kernel patch submission. It should make contributing smoother for new developers. The first patch updates doc/develop/codingstyle.rst to recommend the b4 tool instead of patman as the standard workflow for preparing and sending patches. The revised documentation explains how to create and manage series, run style checks, handle cover letters, discover mailing list recipients, and collect review tags. This reflects widespread adoption of b4 in the Linux kernel community and ensures U-Boot contributors follow consistent, upstream-friendly practices. --- Changes in v2: * Drop commit changing .b4-config * Link to v1: https://lore.kernel.org/r/[email protected] --- doc/develop/codingstyle.rst | 54 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/doc/develop/codingstyle.rst b/doc/develop/codingstyle.rst index bc18b2ebb7b0fc875a299b9e2e5c64c3d6a8e2b3..8ed6babe4556423fe30effc504615e07a841f21a 100644 --- a/doc/develop/codingstyle.rst +++ b/doc/develop/codingstyle.rst @@ -23,13 +23,55 @@ The following rules apply: <https://peps.python.org/pep-0008/>`_. Use `pylint <https://github.com/pylint-dev/pylint>`_ for checking the code. -* Use patman to send your patches (``tools/patman/patman -H`` for full - instructions). With a few tags in your commits this will check your patches - and take care of emailing them. +* Use the `b4 <https://git.kernel.org/pub/scm/utils/b4/b4.git/>`_ tool to prepare and + send your patches. b4 has become the preferred tool to sending patches for many + Linux kernel contributors, and U-Boot ships with a ready-to-use ``.b4-config`` that + targets ``[email protected]`` and integrates with ``scripts/get_maintainer.pl`` for + recipient discovery. -* If you don't use patman, make sure to run ``scripts/checkpatch.pl``. For - more information, read :doc:`checkpatch`. Note that this should be done - *before* posting on the mailing list! + Start a topical series with ``b4 prep`` and keep the commits organised with + ``git rebase -i``. ``b4 prep --edit-cover`` opens an editor for the cover + letter, while ``b4 prep --auto-to-cc`` collects reviewers and maintainers from + both the configuration file and ``scripts/get_maintainer.pl``. + + .. code-block:: bash + + b4 prep -n mmc-fixes + git rebase -i origin/master + b4 prep --edit-cover + b4 prep --auto-to-cc + + Run the style checks before sending. ``b4 prep --check`` wraps the existing + tooling so you see the output from ``scripts/checkpatch.pl`` alongside b4's + own validation. You can always invoke ``scripts/checkpatch.pl`` directly for + additional runs. + + .. code-block:: bash + + b4 prep --check + + When the series is ready, use ``b4 send``. Begin with ``--dry-run`` to review + the generated emails and ``--reflect`` to copy yourself for records before + dispatching to ``[email protected]``. + + .. code-block:: bash + + b4 send --dry-run + b4 send --reflect + b4 send + + After reviews arrive, collect Acked-by/Tested-by tags with ``b4 trailers -u`` + and fold them into your commits before resending the updated series. + + .. code-block:: bash + + b4 trailers -u + git rebase -i origin/master + b4 send + +* Run ``scripts/checkpatch.pl`` directly or via ``b4 prep --check`` so that all + issues are resolved *before* posting on the mailing list. For more information, + read :doc:`checkpatch`. * Source files originating from different projects (for example the MTD subsystem or the hush shell code from the BusyBox project) may, after --- base-commit: 26efc940c865a04d345ac9d39f71746fc2821da6 change-id: 20250929-b4-docs-60da5560f06a Best regards, -- Javier Tia <[email protected]>

