On Tue, Aug 15, 2017 at 7:42 PM, Tom Rini <tr...@konsulko.com> wrote: > On Tue, Aug 15, 2017 at 04:50:40PM -0700, Frank Rowand wrote: >> On 08/15/17 14:15, Tom Rini wrote: >> > With support for stacked overlays being part of libfdt it is now >> > possible and likely that overlays which require __symbols__ will be >> > applied to the dtb files generated by the kernel. This is done by >> > passing -@ to dtc. This does increase the filesize (and resident memory >> > usage) based on the number of __symbol__ entries added to match the >> > contents of the dts. >> > >> > Cc: Rob Herring <robh...@kernel.org> >> > Cc: Frank Rowand <frowand.l...@gmail.com> >> > Cc: Masahiro Yamada <yamada.masah...@socionext.com> >> > Cc: Michal Marek <mma...@suse.com> >> > Cc: Pantelis Antoniou <pantelis.anton...@konsulko.com> >> > Cc: devicet...@vger.kernel.org >> > Cc: linux-kernel@vger.kernel.org >> > CC: linux-kbu...@vger.kernel.org >> > Signed-off-by: Tom Rini <tr...@konsulko.com> >> > --- >> > In order for a dtb file to be useful with all types of overlays, it >> > needs to be generated with the -@ flag passed to dtc so that __symbols__ >> > are generated. This however is not free, and increases the resulting >> > dtb file by up to approximately 50% today. In the current worst case >> > this is moving from 88KiB to 133KiB. In talking with Frank about this, >> > he outlined 3 possible ways (with the 4th option of something else >> > entirely). >> > >> > 1. Make passing -@ to dtc be dependent upon some CONFIG symbol. >> > 2. In the kernel, if the kernel does not have overlay support, discard >> > the __symbols__ information that we've been passed. >> > 3. Have the bootloader pass in, or not, __symbols__ information. >> >> I also was hoping that other people might have ideas for additional >> approaches. > > Yes, please.
A couple of other options come to mind: "make DTC_FLAGS='-@' dtbs" should already work. So there's already a way to build what you want and the kernel is not setting the policy. Do like we do for the unittests and make it a per board decision: DTC_FLAGS_my-som-board.dtb := -@ Then boards that actually need it like SoMs can turn it on. Rob