[PATCH] cmd_dtc: Enable generation of device tree symbols
Frank Rowand
frowand.list at gmail.com
Tue Jan 26 13:03:14 EST 2021
+frank
On 1/26/21 1:20 AM, Uwe Kleine-König wrote:
> Hello Masahiro,
>
> On 1/25/21 10:53 PM, Masahiro Yamada wrote:
>> On Mon, Jan 25, 2021 at 8:07 PM Uwe Kleine-König <uwe at kleine-koenig.org> wrote:
>>>
>>> Adding the -@ switch to dtc results in the binary devicetrees containing
>>> a list of symbolic references and their paths. This is necessary to
>>> apply device tree overlays e.g. on Raspberry Pi as described on
>>> https://www.raspberrypi.org/documentation/configuration/device-tree.md.
>>>
>>> Obviously the downside of this change is an increas of the size of the
>>> generated dtbs, for an arm out-of-tree build (multi_v7_defconfig):
>>>
>>> $ du -s arch/arm/boot/dts*
>>> 101380 arch/arm/boot/dts-pre
>>> 114308 arch/arm/boot/dts-post
>>>
>>> so this is in average an increase of 12.8% in size.
>>>
>>> Signed-off-by: Uwe Kleine-König <uwe at kleine-koenig.org>
>>
>>
>> (CCing DT ML.)
>
> makes sense, thanks.
>
>> https://www.spinics.net/lists/linux-kbuild/msg27904.html
>>
>> See Rob's comment:
>>
>> "We've already rejected doing that. Turning on '-@' can grow the dtb
>> size by a significant amount which could be problematic for some
>> boards."
>
> The patch was created after some conversation on irc which continued
> after I sent the patch. I added the participating parties to Cc:.
>
> The (relevant) followups were:
>
> Geert suggested to always generate the symbols and provide a way to
> strip the symbols for installation if and when they are not needed.
>
> Rob said: "I'm less concerned with the size increases, but rather that
> labels go from purely source syntax to an ABI. I'd rather see some
> decision as to which labels are enabled or not."
>
> And then I learned with hints from Rob and Geert that symbols are not
> really necessary for overlays, you just cannot use named labels. But
> using
>
> target-path = "/soc/i2c at 23473245";
>
> or
>
> target = <&{/soc/i2c at 23473245}>;
>
> instead of
>
> target = <&i2c1>;
>
> works fine. (And if you need to add a phandle the &{/path/to/node}
> construct should work, too (but I didn't test).) Using labels is a tad nicer, but the problem I wanted to address with my patch now has a known different solution.
>
> Best regards
> Uwe
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
More information about the linux-arm-kernel
mailing list