devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Uwe Kleine-König"
	<uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>,
	devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	entwicklung-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	"Uwe Kleine-König"
	<u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Subject: Re: [PATCH v2] write_propval_string: Use a list of strings instead of "\0" in a string
Date: Wed, 3 May 2023 23:43:45 +1000	[thread overview]
Message-ID: <ZFJlESnMYNI/jmHr@yekko> (raw)
In-Reply-To: <CAL_JsqJ9QManUTkOpgaE85b-uVB_JQZGsLXdJCz7_5J_3Aqq2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3566 bytes --]

On Mon, May 01, 2023 at 01:43:22PM -0500, Rob Herring wrote:
> On Sat, Apr 29, 2023 at 1:52 AM David Gibson
> <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org> wrote:
> >
> > On Fri, Apr 28, 2023 at 01:32:17PM +0200, Uwe Kleine-König wrote:
> > > From: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> > >
> > > A string that contains '\0' can be written as a list of strings e.g.
> > >
> > >       clock-names = "di0_pll\0di1_pll\0di0_sel\0di1_sel\0di2_sel\0di3_sel\0di0\0di1";
> > >
> > > is equivalent to
> > >
> > >       clock-names = "di0_pll", "di1_pll", "di0_sel", "di1_sel", "di2_sel", "di3_sel", "di0", "di1";
> > >
> > > The latter is easier to read, to use this format instead.
> > >
> > > Two test files are adapted accordingly to keep the test suite happy.
> > >
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> > > ---
> > > Changes since (implicit) v1, sent with Message-Id:
> > > 20230426182405.572729-1-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org:
> > >
> > >  - Adapt the test suite
> > >
> > >  tests/type-preservation.dt.yaml | 2 +-
> > >  tests/type-preservation.dts     | 2 +-
> > >  treesource.c                    | 2 +-
> > >  3 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/tests/type-preservation.dt.yaml b/tests/type-preservation.dt.yaml
> > > index a0cc64cc4b69..e238d395aa02 100644
> > > --- a/tests/type-preservation.dt.yaml
> > > +++ b/tests/type-preservation.dt.yaml
> > > @@ -12,7 +12,7 @@
> > >      int16-matrix: [!u16 [0x1234, 0x5678], [0x90ab, 0xcdef]]
> > >      int64: [!u64 [0x200000000]]
> > >      int64-array: [!u64 [0x100000000, 0x0]]
> > > -    a-string-with-nulls: ["foo\0bar", "baz"]
> > > +    a-string-array: ["foo", "bar", "baz"]
> >
> >
> > Ah.  I was afraid of this.  So "fixing" the test highlights another
> > problem.  It's pretty clear to me that the whole point of this test is
> > to test the preservation of the internal \0, as distinct from the
> > separate strings later in there.  So, this is exercising an edge case
> > of the typing markers we now add.
> >
> > Now.. personally, I've never been particularly convinced that the type
> > preservation stuff was a particularly good idea.  It will never be
> > perfect, and it can give a misleading impression that information is
> > preserved into the dtb which isn't.  But, it's pretty well established
> > now, and I assume people had reasons for wanting it.
> 
> I don't really think so. It was a side effect of adding the yaml
> support AFAICT. Before commit 32b9c6130762 ("Preserve datatype markers
> when emitting dts format"), any '\0' was not maintained.

Right, which also introduced this test, presumbly to verify those
semantics.

> Speaking of the YAML output, at least for dtschema, it is no longer
> being used with using dtb format directly for over a year now. Support
> for yaml encoding in dtschema was removed completely in the January
> release. Perhaps in dtc it should be deprecated for some time if not
> just outright removed. I'm not aware of anyone else using it.

Oh, that's good to hear.  I've long thought the yaml output was a bad
idea, because it makes people think the dtb encodes type information
which it doesn't and can't.

-- 
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:[~2023-05-03 13:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-28 11:32 [PATCH v2] write_propval_string: Use a list of strings instead of "\0" in a string Uwe Kleine-König
     [not found] ` <20230428113217.744447-1-uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>
2023-04-29  6:29   ` David Gibson
2023-04-30 13:23     ` Uwe Kleine-König
2023-05-01 18:43     ` Rob Herring
     [not found]       ` <CAL_JsqJ9QManUTkOpgaE85b-uVB_JQZGsLXdJCz7_5J_3Aqq2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-05-03 13:43         ` David Gibson [this message]

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=ZFJlESnMYNI/jmHr@yekko \
    --to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
    --cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=entwicklung-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@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 read-only IMAP folder(s) and NNTP newsgroup(s).