[PATCH v3] doc: Update coding style to recommend b4 for patch submission

Javier Tia javier.tia at linaro.org
Tue Sep 30 16:09:05 CEST 2025


Hi Mattijis,

On Tue, Sep 30, 2025, at 7:16 AM, Mattijs Korpershoek wrote:
> Hi Javier,
>
> On Tue, Sep 30, 2025 at 06:53, Javier Tia <javier.tia at linaro.org> wrote:
>
>> 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 <neil.armstrong at linaro.org>
>> Reviewed-by: Mattijs Korpershoek <mkorpershoek at kernel.org>
>> Signed-off-by: Javier Tia <javier.tia at linaro.org>
>> ---
>> 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 v3:
>>
>> * Update trailers
>> * Link to v2: https://lore.kernel.org/r/20250929-b4-docs-v2-1-478285f08639@linaro.org
>
> No need to re-send a new version *only* for updating the trailers.
> The maintainer (custodian) who will pick up this patch will do that for
> you. See:
>
> https://docs.u-boot.org/en/latest/develop/process.html#work-flow-of-a-custodian

Thank you for pointing it out. I read it before, but at that time it was not clear for me if updating the tags or trailers was a task for the contributor or custodian. 

>>
>> Changes in v2:
>>
>> * Drop commit changing .b4-config
>> * Link to v1: https://lore.kernel.org/r/20250929-b4-docs-v1-0-a56c1a1856c5@linaro.org
>> ---
>>  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 ``u-boot at 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 at 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
>>
>> ---
>> base-commit: 26efc940c865a04d345ac9d39f71746fc2821da6
>> change-id: 20250929-b4-docs-60da5560f06a
>>
>> Best regards,
>> -- 
>> Javier Tia <javier.tia at linaro.org>

-- 
» Javier Tia ✍


More information about the U-Boot mailing list