From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Ian Lepore <ian-h+KGxgPPiopAfugRpC6u6w@public.gmane.org>
Cc: Devicetree Compiler
<devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC PATCH 1/3] dtc: Add dtb build information option
Date: Tue, 21 Jan 2020 13:05:25 +1100 [thread overview]
Message-ID: <20200121020525.GL54439@umbus> (raw)
In-Reply-To: <9c4e873ef998a5800a4cac673b7e925fc90e3293.camel-h+KGxgPPiopAfugRpC6u6w@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 4371 bytes --]
On Mon, Jan 20, 2020 at 11:55:52AM -0700, Ian Lepore wrote:
> On Sun, 2020-01-19 at 16:39 +1000, David Gibson wrote:
> > On Fri, Jan 17, 2020 at 08:43:23AM -0600, Rob Herring wrote:
> > > On Fri, Jan 17, 2020 at 6:26 AM David Gibson
> > > <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org> wrote:
> > > >
> > > > On Thu, Jan 16, 2020 at 09:58:23AM +0100, Alexandre Torgue wrote:
> > > > > Hi David
> > > > >
> > > > > [...]
> > > > >
> > > > > My first idea was to not modify all existing .dts files. Adding
> > > > > an extra option in dtc is (for me) the softer way to do it. I
> > > > > mean, compile information should come through compiler without
> > > > > modify .dts files outside from dtc. In this way it will be easy
> > > > > to everybody using dtc (inside our outside Linux tree) to add
> > > > > dtb build info (even if they don't how to write a dts file).
> > > >
> > > > But you're not really having this information coming from the
> > > > compiler. Instead you're adding a compiler option that just
> > > > force includes another file into the generated tree, and it's up
> > > > to your build scripts to put something useful into that file.
> > > >
> > > > I don't really see that as preferable to modifying the .dts
> > > > files.
> > > >
> > > > I also dislike the fact that the option as proposed is much more
> > > > general than the name suggests, but also very similar too, but
> > > > much more specific than the existing /incbin/ option.
> > > >
> > > > What might be better would be to have a dtc option which force
> > > > appends an extra .dts to the mail .dts compiled. You can then
> > > > put an overlay template in that file, something like:
> > > >
> > > > &{/} {
> > > > linux,build-info = /incbin/ "build-info.txt;
> > > > }
> > >
> > > I like this suggestion either as an include another dts file or an
> > > overlay.
> >
> > Sorry, to be clear what I'm talking about here is just including
> > another dts file, and using the compile-type overlay syntax. This is
> > not the same as .dtbo style runtime overlays (though the final result
> > is about the same in this case).
>
> Given that dts files are run through the C preprocessor before being
> fed to dtc, the build script could use the '-include' flag to force-
> include a fragment containing generated build info without any need to
> modify existing dts files.
Uh... maybe. -include will essentially prepend the forced file, which
is a bit awkward for our purposes. It means that the prepended file
would need the /dts-v1/ tag, and we couldn't have it in the main files
which would be a bit confusing. I think it would also cause problems
with any /memreserve/ tags and means that the main tree could in
theory overwrite the build information which we don't necessarily
want.
I guess we could build things the other way around: have the main .dts
file specified with -include and have the dts on the dtc commandline
be a fixed one with the build information. It'd be a little weird,
though.
> > > The latter could be useful as a way to maintain current dtb
> > > files while splitting the source files into base and overlay dts
> > > files.
> > >
> > > But no, let's not prepend this with 'linux'. It's not a property
> > > specific for Linux to consume.
> >
> > It's not really about who consumes it. It's about defining a
> > namespace for the new property to exist in, since it's not part of a
> > relevant standard (if we wanted to make it such, we should pin down
> > what goes in there with much more precision).
> >
> > This is specific to files built in the Linux tree, hence my
> > suggestion of "linux", whoever ends up consuming them.
> >
>
> I tend to agree with this. We use the dts files in freebsd, and if we
> wanted to include some build metadata, it would probably have different
> info in a different format than what linux uses. I would be inclined
> to add those as freebsd,build-info. As well as the namespace, this
> would give consumers some clue about what format the build info string
> might have.
>
> -- Ian
>
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-01-21 2:05 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-13 18:16 [RFC PATCH 0/3] Add device tree build information Alexandre Torgue
2020-01-13 18:16 ` [RFC PATCH 1/3] dtc: Add dtb build information option Alexandre Torgue
2020-01-16 0:57 ` David Gibson
2020-01-16 8:58 ` Alexandre Torgue
2020-01-17 9:09 ` David Gibson
2020-01-17 14:43 ` Rob Herring
2020-01-17 15:11 ` Alexandre Torgue
2020-01-19 6:40 ` David Gibson
2020-01-19 6:39 ` David Gibson
2020-01-20 18:55 ` Ian Lepore
[not found] ` <9c4e873ef998a5800a4cac673b7e925fc90e3293.camel-h+KGxgPPiopAfugRpC6u6w@public.gmane.org>
2020-01-21 2:05 ` David Gibson [this message]
2020-01-21 15:37 ` Ian Lepore
[not found] ` <52f4b34454ab41151113c4ba5e4011d8b992e21f.camel-h+KGxgPPiopAfugRpC6u6w@public.gmane.org>
2020-01-22 1:28 ` David Gibson
2020-04-17 14:27 ` Alexandre Torgue
2020-01-21 15:59 ` Rob Herring
2020-01-21 17:18 ` Steve McIntyre
2020-01-23 5:13 ` David Gibson
[not found] ` <20200123051316.GP2347-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2020-01-23 14:05 ` Rob Herring
[not found] ` <CAL_JsqKTsX9efYDMjGahFDxj0cEfzozeNrY1Nq1bECzgOZGqdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-01-20 18:17 ` Steve McIntyre
[not found] ` <20200120181708.GN3697-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-01-22 18:00 ` Alexandre Torgue
2020-01-22 19:54 ` Frank Rowand
[not found] ` <20200113181625.3130-1-alexandre.torgue-qxv4g6HH51o@public.gmane.org>
2020-01-13 18:16 ` [RFC PATCH 2/3] of: fdt: print dtb build information Alexandre Torgue
2020-01-13 18:16 ` [RFC PATCH 3/3] scripts: Use -B dtc option to generate " Alexandre Torgue
2020-01-17 19:20 ` Frank Rowand
[not found] ` <bc5a94e3-389e-7ef4-5d14-1f7ab30a0826-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-22 19:54 ` Frank Rowand
2020-01-20 16:16 ` Frank Rowand
2020-01-15 15:56 ` [RFC PATCH 0/3] Add device tree " Steve McIntyre
2020-01-16 2:28 ` Frank Rowand
2020-01-16 8:19 ` Alexandre Torgue
[not found] ` <233e0a5f-d38f-908c-5ca7-66ee87d0fcae-qxv4g6HH51o@public.gmane.org>
2020-01-17 19:13 ` Frank Rowand
2020-01-20 10:56 ` Alexandre Torgue
2020-01-20 16:14 ` Frank Rowand
[not found] ` <a1233cd8-e73a-82d7-74bf-69109d1a0a07-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-20 18:28 ` Steve McIntyre
2020-01-21 3:20 ` Frank Rowand
[not found] ` <f09ce50c-6721-c9d3-4f27-3f98a2d0b183-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-21 3:39 ` Frank Rowand
2020-01-21 17:10 ` Steve McIntyre
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=20200121020525.GL54439@umbus \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ian-h+KGxgPPiopAfugRpC6u6w@public.gmane.org \
/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;
as well as URLs for NNTP newsgroup(s).