Re: [RFC:PATCH 3.6.0-rc1] dtc: Add -P option to dtc for Pre-Processing.
From: Srinivas KANDAGATLA <hidden>
Date: 2012-08-15 09:33:04
Also in:
linux-kbuild
On 15/08/12 02:11, David Gibson wrote:
On Mon, Aug 13, 2012 at 09:01:53AM +0100, Srinivas KANDAGATLA wrote:quoted
From: Srinivas Kandagatla <redacted> This patch add pre-processing capablity to dtc based on status property. Now the dtc has additional option -P to enable Pre-processing based on status property. The SOCS have lot of device tree infrastructure files which mark the device nodes as disabled and the board level device tree enables them if required. However while creating device tree blob, the compiler can preprocess the nodes and exclude nodes marked as disabled, doing this way will reduce the size of device tree blob. In our case this has reduced the blob size from 29K to 15K. Also nodes with status="disabled" is are never probed by dt platform bus code. Again, Preprocessing is optional parameter to dtc.Hrm. 1) Changes to dtc should be made first against upstream dtc at git://git.jdl.com/software/dtc.git. The version in the kernel is just a snapshot of the upstream tree which is updated periodically.
I agree, will re-base the patch against git://git.jdl.com/software/dtc.git and add Jon Loeliger (dtc maintainer) to CC.
2) I'm not convinced this filtering-by-status is something that belongs in dtc, but I'm willing to be persuaded.
As its not a default dtc behavior, Adding filtering-by-status as optional to dtc would a good addition towards reducing overall dtb sizes.
3) The name has to change. "preprocess" is far to general a term for the very specific function you're implementing here. Especially when there are serious discussions ongoing about having dtc use cpp or a similar preprocessor in a general capacity.
Yes, Pre-process looks very generic, As Tabi suggested --strip-disabled would be more appropriate. Will repost the patch with this change.