[PATCH] scripts/Makefile.lib: also consider $(CONFIG_SYS_BOARD)-u-boot.dtsi

Tom Rini trini at konsulko.com
Tue Apr 25 21:31:17 CEST 2023


On Fri, Mar 17, 2023 at 11:26:39AM +0100, Rasmus Villemoes wrote:

> I have a couple of boards, e.g. foo21, bar33, each with a few
> different revisions, so I have
> 
>   foo21-revA.dts
>   foo21-revB.dts
>   bar33-revA.dts
>   bar33-revB.dts
> 
> Now the necessary U-Boot specific additions for the foo21 boards
> doesn't depend on the revision (likely for bar33), so I just want to
> have and maintain one
> 
>   foo21-u-boot.dtsi
> 
> But currently I need to add dummy files foo21-revA-u-boot.dtsi and
> foo21-revB-u-boot.dtsi each just containing '#include
> foo21-u-boot.dtsi'. And similarly for bar33, and all those files
> become quite unwieldy as more revisions need to be supported.
> 
> It's quite natural to look for a file named after CONFIG_SYS_BOARD,
> with lower precedence of course than a -u-boot.dtsi file with the same
> basename as the .dts, but higher than CONFIG_SYS_SOC.
> 
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
> 
> Of course, this can cause unwanted changes for existing boards. But a
> bit of ad hoc scripting shows that the risk is low: I first grabbed
> all 'default "foo"' stanzas of all 'config SYS_BOARD' instances, as
> well as all values of CONFIG_SYS_BOARD set in *_defconfig files. Then
> I made a list of all existing *-u-boot.dtsi files, and from these
> removed any where there is a corresponding .dts file. That leaves just
> 
> imx6ul
> imx8mm
> mt7620
> mt7621
> mt7622
> mt7623
> mt7628
> mt8516
> socfpga_arria10
> sunxi
> 
> and inspecting a few of those suggests that they set SYS_SOC to the
> same as SYS_BOARD, i.e. they were already picking up the .dtsi file
> due to the SYS_SOC rule.
> 
> Now, the only way to be really sure is to build the world
> with/without this patch and check if any .dtb file changes, but I
> don't have the means to do that. But I do notice that 

So, yes, this causes a bunch of fail to builds, as you noted above. The
easiest way I think to confirm things before / after would be to make a
quick change to tools/buildman/builderthread.py and self.CopyFiles line
for keep_outputs to also keep the dtb or some dts files so you can diff
before / after to make sure the end result is the same.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230425/9c4c1f4a/attachment.sig>


More information about the U-Boot mailing list