summaryrefslogtreecommitdiff
path: root/doc/develop
diff options
context:
space:
mode:
authorJavier Tia <[email protected]>2025-09-30 06:53:28 -0600
committerHeinrich Schuchardt <[email protected]>2025-10-03 05:59:34 +0200
commit5a21f5b4c9f9c2a176901e8c403a1209db3976b4 (patch)
treece16e8fa04511e0d49b55c18bf28b8e8607af04b /doc/develop
parenteb5014841c21ce3da82681ae31eecf516d47bb2d (diff)
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 <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Javier Tia <[email protected]>
Diffstat (limited to 'doc/develop')
-rw-r--r--doc/develop/codingstyle.rst54
1 files 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:
<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