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

Marek Vasut marex at denx.de
Tue May 26 14:42:08 CEST 2020


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 ?


More information about the U-Boot mailing list