On 30 March 2017 at 17:39, Rob Herring <robh@xxxxxxxxxx> wrote: > On Thu, Mar 30, 2017 at 4:20 AM, Waldemar Rymarkiewicz > <waldemar.rymarkiewicz@xxxxxxxxx> wrote: >> Hi, >> >> I build DT for thermal zone according to >> >> http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/thermal/thermal.txt#L261 >> >> but dtc (DTC 1.4.1-g53bf130b) fails with syntax error. >> >> Error: ../dts/xrx500.dtsi:1060.14-15 syntax error >> FATAL ERROR: Unable to parse input tree >> >> The problem is with cooling-device property >> >> cooling-maps { >> 295 map0 { >> 296 trip = <&cpu_alert0>; >> 297 cooling-device = >> 298 <&cpu0 THERMAL_NO_LIMIT >> THERMAL_NO_LIMIT>; >> 299 }; >> 300 }; >> >> if I use phandle like <&cpu0> it compiles but <&cpu0 THERMAL_NO_LIMIT >> THERMAL_NO_LIMIT>; fails. >> >> What could be a reason? any hint ? > > Did you run it thru the C preprocessor first? Simple #defines are > supported in dts files, but you have to use the C preprocessor before > passing to dtc. The builds of dts files in the kernel tree do this for > you. Yes, but preprocessor does not resolve THERMAL_NO_LIMIT which is located in include/linux/thermal.h as far as I can see. $> mips-openwrt-linux-musl-cpp -nostdinc -x assembler-with-cpp -I/linux/arch/mips/boot/dts -I/linux/arch/mips/boot/dts/include -undef -D__DTS__ -o foo.dtb.tmp foo.dts $> dtc -O dtb -i../dts/ -o foo.bin.dtb foo.bin.dtb.tmp Error: ../dts/foo.dts:1061.14-15 syntax error FATAL ERROR: Unable to parse input tree 1061 • • <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; /Waldek -- To unsubscribe from this list: send the line "unsubscribe devicetree-spec" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html