potential regression between 1.6.0 and 1.6.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


We identified a “regression” between dtc 1.6.0 and 1.6.1 introduced by commit 9d7888cbf19c2930992844e69a097dc71e5a7354.

As part of a firmware extraction framework that we built and open sourced (https://unblob.org), we have integration test files making sure our changes do not modify the way we extract specific file types.
We do so by extracting integration test files and identifying changes using diff. Within this extraction framework, we have a handler that convert DTBs to DTS using the dtc command line tool.

The test suite was failing on one of our colleague’s machine but not on ours, and we identified that the only difference was the DTC version (1.5.0 vs 1.6.1).

You can reproduce it with the iMX6 Sabrelite DTB file available at https://github.com/FAlinux-SoftwareinLife/silfa/blob/master/OS/kernel/imx6q-sabrelite.dtb using this command:

dtc -I dtb -O dts imx6q-sabrelite.dtb 2>/dev/null | grep min-voltage

Here’s a diff showing the difference between the two generated DTS (one with 1.5.0, the other with 1.6.1):

diff /tmp/1.5.0.dts /tmp/1.6.1.dts 
< 			regulator-min-microvolt = <0xc3500>;
> 			regulator-min-microvolt = "\0\f5";
< 			min-voltage = <0xc3500>;
> 			min-voltage = "\0\f5";

I have a very limited knowledge of dtc source code internals so I leave the root cause analysis to you. I just identified the breaking change as part of commit 9d7888cbf19c2930992844e69a097dc71e5a7354.


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux