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.