[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqJy_DREDVP_aBr3A1GtL-e6AKko=fHLNQj+hOHtBjgWZg@mail.gmail.com>
Date: Wed, 16 Aug 2017 11:00:37 -0500
From: Rob Herring <robh+dt@...nel.org>
To: Tom Rini <trini@...sulko.com>
Cc: Frank Rowand <frowand.list@...il.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
Tero Kristo <t-kristo@...com>, Nishanth Menon <nm@...com>,
Tomi Valkeinen <tomi.valkeinen@...com>,
Sekhar Nori <nsekhar@...com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Michal Marek <mmarek@...e.com>,
Pantelis Antoniou <pantelis.antoniou@...sulko.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>
Subject: Re: [PATCH] devicetree: Enable generation of __symbols__ in all dtb files
On Wed, Aug 16, 2017 at 10:41 AM, Tom Rini <trini@...sulko.com> wrote:
> On Wed, Aug 16, 2017 at 10:22:03AM -0500, Rob Herring wrote:
>> On Tue, Aug 15, 2017 at 7:42 PM, Tom Rini <trini@...sulko.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+dt@...nel.org>
>> >> > Cc: Frank Rowand <frowand.list@...il.com>
>> >> > Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>
>> >> > Cc: Michal Marek <mmarek@...e.com>
>> >> > Cc: Pantelis Antoniou <pantelis.antoniou@...sulko.com>
>> >> > Cc: devicetree@...r.kernel.org
>> >> > Cc: linux-kernel@...r.kernel.org
>> >> > CC: linux-kbuild@...r.kernel.org
>> >> > Signed-off-by: Tom Rini <trini@...sulko.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.
>
> Not ideal since that drops out the -Wno... flags we pass in. I don't
> see off-hand why it's not appending to DTC_FLAGS, but that's a fixable
> problem.
I think that's a "feature" of make. Either it needs a different name
or maybe it needs "DTC_FLAGS ?= ..." to pick up later "+=" which some
of the arches do. It's been on my todo for a long time to kill off the
per arch DTC_FLAGS BTW.
>
>> 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.
>
> A concern about that of mine is that we'll start to see a 'flood' of
> patches growing that list at the end of arch/arm/boot/dts/Makefile.
Maybe that will motivate arm-soc to restructure things by vendor.
If there's really a flood then maybe on should be the default and we
turn it off per board. I'm somewhat skeptical that we'll see a flood
though.
Rob
Powered by blists - more mailing lists