public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: Sumit Garg <sumit.garg@linaro.org>
Cc: Caleb Connolly <caleb.connolly@linaro.org>,
	u-boot@lists.denx.de, u-boot-amlogic@groups.io,
	u-boot-custodians@lists.denx.de, trini@konsulko.com,
	sjg@chromium.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor@kernel.org,
	neil.armstrong@linaro.org, ff@shokubai.tech,
	daniel.thompson@linaro.org, dgilmore@fedoraproject.org,
	pbrobinson@gmail.com, ilias.apalodimas@linaro.org,
	maxim.uvarov@linaro.org, b.galvani@gmail.com, xypron.glpk@gmx.de,
	michal.simek@amd.com, seanga2@gmail.com,
	rasmus.villemoes@prevas.dk, peng.fan@nxp.com,
	jh80.chung@samsung.com, rfried.dev@gmail.com, mibodhi@gmail.com,
	bb@ti.com, mark.kettenis@xs4all.nl
Subject: Re: [PATCH v4 00/11] An effort to bring DT bindings compliance within U-Boot
Date: Thu, 25 Jan 2024 03:03:03 +0100	[thread overview]
Message-ID: <48125705-e78e-438f-90ac-2816432cd747@denx.de> (raw)
In-Reply-To: <CAFA6WYN1tFs1id7UxTwLEyp69zx2BPUP7bffVZn80FKPLx2yJw@mail.gmail.com>

On 1/24/24 09:16, Sumit Garg wrote:

Hi,

>>>> How do you propose to handle fixes to DTs which are applied to
>>>> linux-stable releases ? For example, if Linux 6.6(.0) ships a DT which
>>>> has some defect that is fixed in 6.6.1, how will that fix get into
>>>> U-Boot DTs ?
>>>
>>> This fix would also be in the latest Linux tags, so I think it would
>>> find its way here - as I understand it patches aren't accepted into
>>> Linux stable unless they land in torvalds tree.
>>
>> See the devicetree-rebasing.git:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git/refs/
>>
>> That only contains refs for release versions (v6.6-dts, v6.7-dts etc),
>> not any follow-up updates from linux-stable (like current 6.6.13 etc).
>>
> 
> Here we should only consider fixes which are critical to U-Boot. I
> think -u-boot.dtsi files would be suitable to carry those fixes until
> next uprev. However, if there is a fix affecting many platforms than
> we can consider pulling that standalone too.

That would mean extra duplicate work -- the critical fixes have already 
been selected into linux-stable, that work is already done, I don't 
think it makes sense to re-do it again.

Furthermore, I do not like the new necessity to start porting those 
fixes from linux-stable and converting them to adjustments to 
*-u-boot.dtsi files, this is tedious and error prone, so it would have 
to be automated.

But I still think it is much better to simply take the fixes directly 
from linux-stable as-is instead.

>> Would this require syncing in -rc versions of Linux DTs to get the
>> latest fixes in ?
> 
> Syncing -rc versions makes U-Boot more prone to DT ABI breakages. So
> its a chicken and egg problem as per your comments below. However, we
> can revisit our syncing strategy based on how the current one pans
> out.
> 
>>
>>>> Assume that there is some large breaking change in Linux 6.(n+1),
>>>> something which would be problematic for specific U-Boot platform
>>>> (e.g. i.MX) or would require a lot of work to sort out, will there be
>>>> a way to temporarily pin DTs for specific platform to older DT version
>>>> until that is resolved (e.g. pin to 6.n) ?
>>>
>>> (Upstream) devicetree has to be forwards and backwards compatible, were
>>> such a breaking change to get merged without prior discussion with DT
>>> users (i.e. U-Boot) then I think the correct course of action would be
>>> to revert it.
>>
>> Not really, this could be a perfectly valid change, and would work for
>> Linux just fine, it might simply be pulling in something which is not
>> supported by U-Boot just yet and therefore syncing the DTs into U-Boot
>> would break U-Boot on that platform . Using older version of DTs for a
>> platform could work as a stopgap measure until the functionality is
>> implemented. Is this possible ?
> 
> For this particular reason we want to pull once during beginning on
> U-Boot next window and allow sufficient time for platform maintainers
> to adapt to it. However, OF_UPSTREAM=n can be an alternative for a
> stopgap solution.

That pull would break other peoples platforms. It would be no different 
than adding broken patch into the code base. What I think would be an 
option is that there is a pull (as in patch) and people should be able 
to test it before it is applied. If one platform is severely affected 
while other platforms are fine, the one platform should be able to use 
the current working version of DTs, while the other platforms should not 
be blocked by it. Is that what OF_UPSTREAM=n does ?

As far as I understand OF_UPSTREAM=n, it would require re-importing DTs 
into the codebase ?

>>> On a tangential note: as I understand it, DTs built from dt-rebasing are
>>> still subject to U-Boot customisations via the "-u-boot.dtsi" include
>>> files, this allows for dealing with incompatibilities due to missing
>>> features in U-Boot.
>>
>> Would it be possible to auto-update those -u-boot.dtsi files during
>> sync, to minimize the resulting DT blob delta before/after update, and
>> thus also minimize the likelihood of causing breakage ?
> 
> In the long run the DT community would like to avoid any DT ABI
> breakages at all. Rob is already working on a DT ABI check tool and
> seeking inputs for what could be an ABI break [1] from U-Boot
> perspective too. Feel free to provide your inputs.
> 
> Along with that we wouldn't need -u-boot.dtsi files once we make
> U-Boot fully compliant with DT bindings. Until that point U-Boot
> platform maintainers have to keep their -u-boot.dtsi files updated
> corresponding to latest DT rebasing releases.

I think upstreaming the bootph* properties would still take a while, but 
is not relevant to the aforementioned question.

Assume there is a sync, would the current in-tree -u-boot.dtsi files get 
updated to work correctly with the newly synced DTs ?

  reply	other threads:[~2024-01-25  2:06 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-10 10:35 [PATCH v4 00/11] An effort to bring DT bindings compliance within U-Boot Sumit Garg
2024-01-10 10:35 ` [PATCH v4 01/11] CI: Exclude devicetree-rebasing subtree for CONFIG checks Sumit Garg
2024-01-10 10:35 ` [PATCH v4 02/11] Makefile: Add support for DT bindings schema checks Sumit Garg
2024-01-10 10:35 ` [PATCH v4 03/11] scripts/Makefile.lib: Statically define *-u-boot.dtsi files location Sumit Garg
2024-01-10 10:35 ` [PATCH v4 04/11] Makefile: Allow upstream DT subtree to provide DT includes Sumit Garg
2024-01-10 10:35 ` [PATCH v4 05/11] dts: Add alternative location for upstream DTB builds Sumit Garg
2024-01-10 10:35 ` [PATCH v4 06/11] dts: Add script to uprev dts/upstream subtree Sumit Garg
2024-01-10 10:35 ` [PATCH v4 07/11] doc: devicetree: Align documentation to use Kconfig options Sumit Garg
2024-01-10 12:31   ` Fabio Estevam
2024-01-10 12:40     ` Sumit Garg
2024-01-10 10:35 ` [PATCH v4 08/11] doc: devicetree: Updates for devicetree-rebasing subtree Sumit Garg
2024-01-10 10:35 ` [PATCH v4 09/11] MAINTAINERS: Add myself as devicetree-rebasing maintainer Sumit Garg
2024-01-10 10:35 ` [PATCH v4 10/11] dts: meson-gxbb: Switch to using upstream DT Sumit Garg
2024-01-10 10:35 ` [PATCH v4 11/11] dts: meson-gxbb: Drop redundant devicetree files Sumit Garg
2024-01-19 15:56 ` [PATCH v4 00/11] An effort to bring DT bindings compliance within U-Boot Nishanth Menon
2024-01-24  7:15   ` Sumit Garg
2024-01-21 14:33 ` Marek Vasut
2024-01-21 22:41   ` Caleb Connolly
2024-01-22  0:01     ` Tom Rini
2024-01-24  7:36       ` Sumit Garg
2024-01-22  0:14     ` Marek Vasut
2024-01-24  8:16       ` Sumit Garg
2024-01-25  2:03         ` Marek Vasut [this message]
2024-01-25  7:24           ` Sumit Garg
2024-01-25 15:04             ` Tom Rini
2024-01-25 16:38               ` Marek Vasut
2024-01-25 23:19                 ` Tom Rini
2024-01-26  2:10                   ` Marek Vasut
2024-01-26  7:04                     ` Michal Simek
2024-01-31 12:56                       ` Sumit Garg
2024-01-31 14:13                         ` Tom Rini
2024-01-22 11:45 ` Andre Przywara
2024-01-22 16:49   ` Tom Rini
2024-01-23  0:58     ` Andre Przywara
2024-01-23 16:42       ` Rob Herring
2024-01-24  9:03         ` Sumit Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48125705-e78e-438f-90ac-2816432cd747@denx.de \
    --to=marex@denx.de \
    --cc=b.galvani@gmail.com \
    --cc=bb@ti.com \
    --cc=caleb.connolly@linaro.org \
    --cc=conor@kernel.org \
    --cc=daniel.thompson@linaro.org \
    --cc=dgilmore@fedoraproject.org \
    --cc=ff@shokubai.tech \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jh80.chung@samsung.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=maxim.uvarov@linaro.org \
    --cc=mibodhi@gmail.com \
    --cc=michal.simek@amd.com \
    --cc=neil.armstrong@linaro.org \
    --cc=pbrobinson@gmail.com \
    --cc=peng.fan@nxp.com \
    --cc=rasmus.villemoes@prevas.dk \
    --cc=rfried.dev@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=seanga2@gmail.com \
    --cc=sjg@chromium.org \
    --cc=sumit.garg@linaro.org \
    --cc=trini@konsulko.com \
    --cc=u-boot-amlogic@groups.io \
    --cc=u-boot-custodians@lists.denx.de \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox