diff mbox series

kbuild: determine base DTB by suffix

Message ID 20231203080548.1869540-1-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series kbuild: determine base DTB by suffix | expand

Commit Message

Masahiro Yamada Dec. 3, 2023, 8:05 a.m. UTC
When using the -dtbs syntax, you need to ensure to list the base first,
as follows:

    foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo
    dtb-y := foo.dtb

You cannot do this arrangement:

    foo-dtbs := foo_overlay1.dtbo foo_overlay2.dtbo foo_base.dtb

This restriction comes from $(firstword ...), but it is unneeded to
rely on the order in the -dtbs syntax.

Instead, you can simply determine the base by suffix because the
base (*.dtb) and overlays (*.dtbo) use different suffixes.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 scripts/Makefile.lib | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Nicolas Schier Dec. 4, 2023, 11:17 a.m. UTC | #1
On Sun, Dec 03, 2023 at 05:05:48PM +0900, Masahiro Yamada wrote:
> When using the -dtbs syntax, you need to ensure to list the base first,
> as follows:
> 
>     foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo
>     dtb-y := foo.dtb
> 
> You cannot do this arrangement:
> 
>     foo-dtbs := foo_overlay1.dtbo foo_overlay2.dtbo foo_base.dtb
> 
> This restriction comes from $(firstword ...), but it is unneeded to
> rely on the order in the -dtbs syntax.
> 
> Instead, you can simply determine the base by suffix because the
> base (*.dtb) and overlays (*.dtbo) use different suffixes.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---

Thanks, looks good to me.

Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
diff mbox series

Patch

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 1a965fe68e01..cd5b181060f1 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -83,8 +83,8 @@  dtb-$(CONFIG_OF_ALL_DTBS)       += $(dtb-)
 multi-dtb-y := $(call multi-search, $(dtb-y), .dtb, -dtbs)
 # Primitive DTB compiled from *.dts
 real-dtb-y := $(call real-search, $(dtb-y), .dtb, -dtbs)
-# Base DTB that overlay is applied onto (each first word of $(*-dtbs) expansion)
-base-dtb-y := $(foreach m, $(multi-dtb-y), $(firstword $(call suffix-search, $m, .dtb, -dtbs)))
+# Base DTB that overlay is applied onto
+base-dtb-y := $(filter %.dtb, $(call real-search, $(multi-dtb-y), .dtb, -dtbs))
 
 always-y			+= $(dtb-y)