[RFC PATCH] imx: skip unused compatible strings in drivers

Peng Fan peng.fan at nxp.com
Tue May 26 14:40:56 CEST 2020


> 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.

Thanks,
Peng.

> 
> --
> Anatolij


More information about the U-Boot mailing list