From: Tom Rini <trini@konsulko.com>
To: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Simon Glass <sjg@chromium.org>, Rob Herring <robh@kernel.org>,
Peter Robinson <pbrobinson@gmail.com>,
Sughosh Ganu <sughosh.ganu@linaro.org>,
u-boot@lists.denx.de, Heinrich Schuchardt <xypron.glpk@gmx.de>
Subject: Re: [RFC PATCH 0/5] Allow for removal of DT nodes and properties
Date: Fri, 8 Sep 2023 10:54:18 -0400 [thread overview]
Message-ID: <20230908145418.GG305624@bill-the-cat> (raw)
In-Reply-To: <CAC_iWjKn_xzoCEv8EBghm7-N5Ex1gEJK=nxdV6QvQ_mPm5R=hQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5125 bytes --]
On Fri, Sep 08, 2023 at 01:13:42PM +0300, Ilias Apalodimas wrote:
> Hi Simon,
>
> On Thu, 7 Sept 2023 at 15:23, Simon Glass <sjg@chromium.org> wrote:
> >
> > Hi Ilias,
> >
> > On Wed, 6 Sept 2023 at 23:20, Ilias Apalodimas
> > <ilias.apalodimas@linaro.org> wrote:
> > >
> > > Hi Rob,
> > >
> > > [...]
> > >
> > > > > > > > >
> > > > > > > > > What is the point of removing them? Instead, we should make sure that
> > > > > > > > > we upstream the bindings and encourage SoC vendors to sync them. If we
> > > > > > > > > remove them, no one will bother and U-Boot just becomes a dumping
> > > > > > > > > ground.
> > > > > > > >
> > > > > > > > Well things like the binman entries in DT are U-Boot specific and not
> > > > > > > > useful for HW related descriptions or for Linux or another OS being
> > > > > > > > able to deal with HW so arguably we're already a dumping ground to
> > > > > > > > some degree for not defining hardware.
> > > > > > >
> > > > > > > I have started the process to upstream the binman bindings.
> > > > > >
> > > > > > I don't think they should be in DT at all, they don't describe
> > > > > > anything to do with hardware, or generally even the runtime of a
> > > > > > device, they don't even describe the boot/runtime state of the
> > > > > > firmware, they describe build time, so I don't see what that has to do
> > > > > > with device tree? Can you explain that? To me those sorts of things
> > > > > > should live in a build time style config file.
> > > >
> > > > For the record, I tend to agree.
> > > >
> > >
> > > +1
> > >
> > > > > I beg to differ. Devicetree is more than just hardware and always has
> > > > > been. See, for example the /chosen and /options nodes.
> > > >
> > > > There are exceptions...
> > > >
> > >
> > > We've been this over and over again and frankly it gets a bit annoying.
> > > It's called *DEVICE* tree for a reason. As Rob pointed out there are
> > > exceptions, but those made a lot of sense. Having arbitrary internal ABI
> > > stuff of various projects in the schema just defeats the definition of a
> > > spec.
> >
> > Our efforts should not just be about internal ABI, but working to
> > provide a consistent configuration system for all firmware elements.
>
> And that's what the firmware handoff was all about.
> I get what you are trying to do here. I am just aware of any other
"just not aware" did you mean?
> project apart from U-Boot which uses DT for it's own configuration.
> So trying to standardize some bindings that are useful to all projects
> that use DT is fine. Trying to *enforce* them to use it for config
> isn't IMHO.
>
> >
> > We cannot have it both ways, i.e. refusing to accept non-hardware
> > bindings and then complaining that U-Boot does not pass schema
> > validation. Devicetree should be a shared resource, not just for the
> > use of Linux.
>
> It's not for the use of Linux, I've wasted enough time repeating that
> and so has Rob. Please go back to previous emails and read the
> arguments.
Right, it's not just for Linux, but Linux is where most of the
exceptions to the "ONLY HARDWARE" rule got in, because they also make
sense. And the overarching point Simon keeps trying to make I believe
can be boiled down to that too. There are things that one does not have
a (reasonable) choice about how to do things with when interacting with
the hunk of melted sand on your desk and that information needs to go
somewhere.
> > We already have reserved-memory, flash layout and other
> > things which don't relate to hardware. I would love to somehome get
> > past this fundamental discussion which seems to come up every time we
> > get close to making progress
>
> Most of the nodes we already have were used across projects and made
> sense to all of them. U-Boot might need to reserve some memory and so
> does linux etc etc.
> Some other nodes make nosense at all to and they just serve internal
> ABI implementation details. I can't possibly fathom how these would
> be justifiable. On top of all that, there's a huge danger here. How
> are you planning on separating arbitrary entries from various
> projects?
I think in some ways this is the whole point of at least what I'm asking
for. It's fine to say "Here is the mechanism to remove nodes /
properties from the device tree". BUT adding entries to that list MUST
document where someone tried to upstream and explain that this is
something that belongs in the device tree because it is useful to
everyone.
> What I am afraid is going to happen here is simple. If a project
> doesn't use DT to configure itself and wants to provide a DT to
> U-Boot, then are you going to say "Can you please inject various DT
> nodes in the tree because U-Boot *needs* them and they are now part of
> the spec"? Anyway, it's not up to me to decide here, I am just saying
> what makes sense to me.
What's the difference between that and "If a project doesn't use DT to
configure itself and wants to provide a DT to Linux, ..." ?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2023-09-08 14:54 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-26 9:06 [RFC PATCH 0/5] Allow for removal of DT nodes and properties Sughosh Ganu
2023-08-26 9:06 ` [RFC PATCH 1/5] dt: Provide a way to remove non-compliant " Sughosh Ganu
2023-08-26 10:22 ` Heinrich Schuchardt
2023-08-28 8:27 ` Sughosh Ganu
2023-08-26 10:39 ` Heinrich Schuchardt
2023-08-28 8:27 ` Sughosh Ganu
2023-08-28 18:08 ` Tom Rini
2023-08-26 9:06 ` [RFC PATCH 2/5] fwu: Add the fwu-mdata node for removal from devicetree Sughosh Ganu
2023-08-26 9:06 ` [RFC PATCH 3/5] capsule: Add the capsule-key property " Sughosh Ganu
2023-08-26 9:06 ` [RFC PATCH 4/5] bootefi: Call the EVT_FT_FIXUP event handler Sughosh Ganu
2023-08-26 10:27 ` Heinrich Schuchardt
2023-08-28 9:32 ` Sughosh Ganu
2023-08-28 10:57 ` Heinrich Schuchardt
2023-08-28 17:54 ` Simon Glass
2023-08-26 9:06 ` [RFC PATCH 5/5] doc: Add a document for non-compliant DT node/property removal Sughosh Ganu
2023-08-26 10:01 ` Heinrich Schuchardt
2023-08-28 10:18 ` Sughosh Ganu
2023-08-28 17:54 ` Simon Glass
2023-08-28 18:34 ` Sughosh Ganu
2023-08-28 18:39 ` Tom Rini
2023-08-30 7:24 ` Ilias Apalodimas
2023-08-30 14:22 ` Tom Rini
2023-08-31 2:49 ` Simon Glass
2023-08-31 7:52 ` Ilias Apalodimas
2023-08-31 13:28 ` Tom Rini
2023-08-29 17:25 ` Simon Glass
2023-08-30 6:37 ` Sughosh Ganu
2023-08-26 10:07 ` [RFC PATCH 0/5] Allow for removal of DT nodes and properties Heinrich Schuchardt
2023-08-28 8:31 ` Sughosh Ganu
2023-08-28 16:19 ` Simon Glass
2023-08-28 16:37 ` Peter Robinson
2023-08-28 17:53 ` Tom Rini
2023-08-28 17:54 ` Simon Glass
2023-08-28 20:29 ` Peter Robinson
2023-08-28 22:09 ` Simon Glass
2023-08-29 10:33 ` Peter Robinson
2023-08-29 20:31 ` Simon Glass
2023-08-30 8:19 ` Peter Robinson
2023-08-31 3:38 ` Simon Glass
2023-09-06 14:21 ` Rob Herring
2023-09-06 14:59 ` Simon Glass
2023-09-06 21:58 ` Tom Rini
2023-09-06 22:04 ` Tom Rini
2023-09-06 23:30 ` Heinrich Schuchardt
2023-09-07 1:59 ` Tom Rini
2023-09-07 5:20 ` Ilias Apalodimas
2023-09-07 12:23 ` Simon Glass
2023-09-08 10:13 ` Ilias Apalodimas
2023-09-08 14:54 ` Tom Rini [this message]
2023-09-08 15:28 ` Ilias Apalodimas
2023-09-11 19:06 ` Tom Rini
2023-09-12 6:03 ` Ilias Apalodimas
2023-09-08 14:37 ` Jassi Brar
2023-09-08 14:43 ` Tom Rini
2023-09-08 18:04 ` Mark Kettenis
2023-09-13 22:39 ` Rob Herring
2023-09-14 22:41 ` Simon Glass
2023-09-14 23:38 ` Tom Rini
2023-09-15 9:49 ` Ilias Apalodimas
2023-09-18 17:00 ` Rob Herring
2023-09-19 20:25 ` Simon Glass
2023-09-19 21:38 ` Tom Rini
2023-09-21 13:58 ` Rob Herring
2023-09-21 17:43 ` Simon Glass
2023-08-28 17:54 ` Tom Rini
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=20230908145418.GG305624@bill-the-cat \
--to=trini@konsulko.com \
--cc=ilias.apalodimas@linaro.org \
--cc=pbrobinson@gmail.com \
--cc=robh@kernel.org \
--cc=sjg@chromium.org \
--cc=sughosh.ganu@linaro.org \
--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