devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).