From 3476f9608bd22803c64d5a4ede118784debd0b18 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 7 Dec 2007 14:38:26 +1100 Subject: [PATCH] dtc: Reinstate full old-style reference-to-path for v0 dts files Commit 7c44c2f9cb1cc2df7aacd13decfc4e64b73d1730 broke backwards compatibility more badly than I realised. Contrary to what I thought there are in-kernel, in-use dts files which relied on references-to-path with paths including a comma, which no longer compile after that commit. So, this patch reinstates full support for bare references-to-path in dts-v0 input. This means there will be some rather surprising lexical corner cases when using path-expanded references in v0 files. But, since path-expanded references are new, v0 files shouldn't typically be using them anyway. If the corner cases cause a problem, you can always convert to dts-v1 which handles the lexical issues here more nicely. Signed-off-by: David Gibson --- dtc-lexer.l | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dtc-lexer.l b/dtc-lexer.l index 3c4b798..c811b22 100644 --- a/dtc-lexer.l +++ b/dtc-lexer.l @@ -27,7 +27,6 @@ PROPNODECHAR [a-zA-Z0-9,._+*#?@-] PATHCHAR ({PROPNODECHAR}|[/]) -LEGACYPATHCHAR [a-zA-Z0-9_@/] LABEL [a-zA-Z_][a-zA-Z0-9_]* %{ @@ -158,7 +157,7 @@ static int dts_version; /* = 0 */ return DT_REF; } -"&/"{LEGACYPATHCHAR}+ { /* old-style path reference */ +"&/"{PATHCHAR}+ { /* old-style path reference */ yylloc.filenum = srcpos_filenum; yylloc.first_line = yylineno; DPRINT("Ref: %s\n", yytext+1);