Hi David,

On 2026-08-06T16:53:15, David Lechner <[email protected]> wrote:
> Makefile: fix dtbs_check target
>
> Use absolute paths for src and srctree when calling dtbs_check via
> sub-make command. This fixes dtbs checks not working.
>
> Without this change, we see errors like:

>
>     find: ‘dts/upstream/Bindings’: No such file or directory

Just to check, this only happens with out-of-tree builds (O=), right?
In-tree the sub-make runs in the source directory, so the relative
path resolves. Please can you mention in the commit message that this
affects out-of-tree builds, so people know when it occurs and how to
reproduce it?

>
>     find: ‘dts/upstream/Bindings’: No such file or directory
>
> This resulted in no schemas to be parsed and therefore no useful checks
> were done.
>
> Since we do not want to modify dts/upstream/Makefile, as it would be
> written over when we pull upstream changes, we make the changes in the
> U-Boot Makefile.
>
> Signed-off-by: David Lechner <[email protected]>
>
> Makefile | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

> diff --git a/Makefile b/Makefile
> @@ -1455,7 +1455,9 @@ dtbs_check: dt_binding_check dtbs
> +     $(Q)$(MAKE) $(build)=$(DT_BINDING_DIR) srctree=$(abspath $(srctree)) \
> +             src=$(abspath $(srctree))/$(DT_BINDING_DIR) \
> +             $(DT_BINDING_DIR)/processed-schema.json

I traced this through scripts/Makefile.build and
dts/upstream/Bindings/Makefile and the logic looks right: src on the
command line overrides the assignment in Makefile.build, so
find_all_cmd searches the source tree, DT_DOCS still resolves via
VPATH in the objtree, and the output lands in
$(obj)/processed-schema.json where scripts/Makefile.lib expects it
(DT_TMP_SCHEMA). The kernel has moved to defining src as
$(srctree)/$(obj) in Makefile.build, but there are more changes after
that, so we can worry about that later.

One small thing: $(abspath $(srctree)) is expanded twice. You could
assign it to a variable next to DT_BINDING_DIR to make the rule easier
to read. What do you think?

In any case:

Reviewed-by: Simon Glass <[email protected]>

Regards,
Simon

Reply via email to