From 5a21f5b4c9f9c2a176901e8c403a1209db3976b4 Mon Sep 17 00:00:00 2001 From: Javier Tia Date: Tue, 30 Sep 2025 06:53:28 -0600 Subject: [PATCH] doc: Update coding style to recommend b4 for patch submission 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. Reviewed-by: Neil Armstrong Reviewed-by: Mattijs Korpershoek Signed-off-by: Javier Tia --- 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 bc18b2ebb7b..8ed6babe455 100644 --- a/doc/develop/codingstyle.rst +++ b/doc/develop/codingstyle.rst @@ -23,13 +23,55 @@ The following rules apply: `_. Use `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 `_ 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 ``u-boot@lists.denx.de`` 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 ``u-boot@lists.denx.de``. + + .. 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 -- 2.47.3