From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anatolij Gustschin Date: Tue, 26 May 2020 15:15:16 +0200 Subject: [RFC PATCH] imx: skip unused compatible strings in drivers In-Reply-To: <19ca7297-b7a6-62f5-e88f-e7f981386ffb@denx.de> References: <20200525202429.2146-1-agust@denx.de> <4c07f210-eab5-b456-fb1c-3f1b1eb71e0b@web.de> <20200526135829.7f5637eb@crub> <19ca7297-b7a6-62f5-e88f-e7f981386ffb@denx.de> Message-ID: <20200526151516.4d6633a4@crub> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, 26 May 2020 14:42:08 +0200 Marek Vasut marex at denx.de wrote: > On 5/26/20 2:40 PM, Peng Fan wrote: > >> Subject: Re: [RFC PATCH] imx: skip unused compatible strings in drivers > >> > >> On Tue, 26 May 2020 13:25:00 +0200 > >> Marek Vasut marex at denx.de wrote: > >> > >>> On 5/26/20 1:12 PM, Soeren Moch wrote: > >>>> On 25.05.20 22:24, Anatolij Gustschin wrote: > >>>>> Converting to DM increases binary size and breaks building some > >>>>> boards (i.e. tbs2910, gcc 9.2). The approach to address this issue > >>>>> via cutting off unused properties/nodes in device tree via custom > >>>>> u-boot.dtsi was not welcome, even if the affected boards do not > >>>>> pass the built-in device tree to the kernel. > >>>> But there is CONFIG_OF_REMOVE_PROPS="dmas dma-names > >> interrupt-parent > >>>> interrupts interrupts-extended interrupt-names interrupt-map > >>>> interrupt-map-mask" in tbs2910_defconfig. So removing properties is > >>>> already done via this config option. Removing nodes is not > >>>> implemented (yet? AFAIK). But would be welcome if someone implements > >>>> this in a similar way, I think. > >>> > >>> Why don't we turn this the other way around -- put the { compat string > >>> , driver } tuple list into a U-Boot linker list, then filter this > >>> linker list against a DT which will be used for the platform (what if > >>> there are multiple DTs?), and then scrub all unreferrenced symbols. > >> > >> This might be a topic again when new bloat causes build breakage again. For > >> now I've succeeded to build the tbs2910 board with default CI tool chain > >> without this patch (by making DM_VIDEO parts optional). Stripping unused > >> compatible entries doesn't save much here (around 800 bytes). So the > >> question is if it is worth the effort to implement such scrubbing. > > > > I vote for this. Whether u-boot or SPL, currently the size is larger and larger. > > Can you send a patch prototyping this ? I'm not working on this, so do not expect patches from me, at least not in the near future. -- Anatolij