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

Soeren Moch smoch at web.de
Tue May 26 13:35:07 CEST 2020


On 26.05.20 13:25, Marek Vasut 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.
I think we discussed this idea earlier, and indeed this sounds more
promising. Apparently it is more difficult to implement, so this
CONFIG_OF_REMOVE_PROPS was done as first step. Unfortunately I'm not
familiar with fdt transformations, nor linker scripts. So I cannot
really judge the required effort. But I would be happy if someone else
implements this.

Soeren


More information about the U-Boot mailing list