dtoc: Replace dot with underscore to avoid compiler errors

If there is a '.' in a compatible string, then dtoc will produce a struct
with a name containing a '.'. This won't work, so replace it with '_'.

Also add a suitable test to the sandbox device tree to catch this.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2017-01-15 21:09:08 -07:00
parent e9b25f2ea1
commit 6b6024a3a2
2 changed files with 6 additions and 0 deletions

View File

@ -203,6 +203,11 @@
stringarray = "one"; stringarray = "one";
}; };
spl-test4 {
u-boot,dm-pre-reloc;
compatible = "sandbox,spl-test.2";
};
square { square {
compatible = "demo-shape"; compatible = "demo-shape";
colour = "blue"; colour = "blue";

View File

@ -54,6 +54,7 @@ def Conv_name_to_c(name):
str = name.replace('@', '_at_') str = name.replace('@', '_at_')
str = str.replace('-', '_') str = str.replace('-', '_')
str = str.replace(',', '_') str = str.replace(',', '_')
str = str.replace('.', '_')
str = str.replace('/', '__') str = str.replace('/', '__')
return str return str