dtc: RFC: Fix some lexical problems with references
Josh Boyer
jwboyer at linux.vnet.ibm.com
Thu Dec 6 09:44:08 EST 2007
On Wed, 5 Dec 2007 16:34:09 -0600
Josh Boyer <jwboyer at linux.vnet.ibm.com> wrote:
> On Thu, 22 Nov 2007 17:10:07 +1100
> David Gibson <david at gibson.dropbear.id.au> wrote:
>
> > The recent change to the lexer to only recognize property and node
> > names in the appropriate context removed a number of lexical warts in
> > our language that would have gotten ugly as we add expression support
> > and so forth.
> >
> > But there's one nasty one remaining: references can contain a full
> > path, including the various problematic node name characters (',', '+'
> > and '-', for example). This would cause trouble with expressions, and
> > it also causes trouble with the patch I'm working on to allow
> > expanding references to paths rather than phandles. This patch
> > therefore reworks the lexer to mitigate these problems.
> >
> > - References to labels cause no problems. These are now
> > recognized separately from references to full paths. No syntax change
> > here.
> >
> > - References to full paths, including problematic characters
> > are allowed by "quoting" the path with braces
> > e.g. &{/pci at 10000/somedevice at 3,8000}. The braces protect any internal
> > problematic characters from being confused with operators or whatever.
> >
> > - For compatibility with existing dts files, in v0 dts files
> > we allow bare references to paths as before &/foo/bar/whatever - but
> > *only* if the path contains no troublesome characters. Specifically
> > only [a-zA-Z0-9_@/] are allowed.
> >
> > This is an incompatible change to the dts-v1 format, but since AFAIK
> > no-one has yet switched to dts-v1 files, I think we can get away with
> > it. Better to make the transition when people to convert to v1, and
> > get rid of the problematic old syntax.
> >
> > Strictly speaking, it's also an incompatible change to the v0 format,
> > since some path references that were allowed before are no longer
> > allowed. I suspect no-one has been using the no-longer-supported
> > forms (certainly none of the kernel dts files will cause trouble). We
> > might need to think about this harder, though.
> >
> > Signed-off-by: David Gibson <david at gibson.dropbear.id.au>
>
> So this breaks some of the in-kernel DTS files. Example, bamboo.dts on
> line 19 produces:
>
> bamboo.dts: 19 syntax error
> FATAL ERROR: Couldn't read input tree
>
> I tried quoting the path with {} but that didn't seem to work.
Nevermind, the quoting worked.
josh
More information about the Linuxppc-dev
mailing list