[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aSDEC9D87nZB5RJp@derry.ads.avm.de>
Date: Fri, 21 Nov 2025 20:56:59 +0100
From: Nicolas Schier <nsc@...nel.org>
To: "Rob Herring (Arm)" <robh@...nel.org>
Cc: Nathan Chancellor <nathan@...nel.org>, devicetree@...r.kernel.org,
linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] kbuild: Ensure .dtbo targets are applied to a base .dtb
On Fri, Nov 14, 2025 at 04:27:58PM -0600, Rob Herring (Arm) wrote:
> It is a requirement that DT overlays in the kernel are applied at build
> time to a base DTB in order to validate they can be applied and to
> validate them against the DT schemas. DT overlays on their own may be
> incomplete and can't be validated.
>
> Add a kbuild check so this doesn't have to be checked and fixed
> periodically.
>
> Signed-off-by: Rob Herring (Arm) <robh@...nel.org>
> ---
> scripts/Makefile.dtbs | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/scripts/Makefile.dtbs b/scripts/Makefile.dtbs
> index 2d321b813600..15473edc2589 100644
> --- a/scripts/Makefile.dtbs
> +++ b/scripts/Makefile.dtbs
> @@ -10,6 +10,13 @@ real-dtb-y := $(call real-search, $(dtb-y), .dtb, -dtbs)
> # Base DTB that overlay is applied onto
> base-dtb-y := $(filter %.dtb, $(call real-search, $(multi-dtb-y), .dtb, -dtbs))
>
> +# Ensure that any .dtbo is applied to at least one base .dtb. Otherwise, it
> +# does not get validated.
> +applied-dtbo := $(filter %.dtbo, \
> + $(call real-search, $(call multi-search, $(dtb-y) $(dtb-), .dtb, -dtbs), .dtb, -dtbs))
> +unapplied-dtbo := $(filter-out $(applied-dtbo),$(filter %.dtbo, $(dtb-y)))
> +$(if $(unapplied-dtbo), $(warning .dtbo is not applied to any base: $(unapplied-dtbo)))
> +
> dtb-y := $(addprefix $(obj)/, $(dtb-y))
> multi-dtb-y := $(addprefix $(obj)/, $(multi-dtb-y))
> real-dtb-y := $(addprefix $(obj)/, $(real-dtb-y))
> --
> 2.51.0
>
Acked-by: Nicolas Schier <nsc@...nel.org>
Do you take this via DT tree?
Kind regards,
Nicolas
Powered by blists - more mailing lists