From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
To: Rob Herring <robh@kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Tom Rini <trini@konsulko.com>,
Masahiro Yamada <masahiroy@kernel.org>,
"linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>
Subject: Re: [PATCH v2] kbuild: Enable DT schema checks for %.dtb targets
Date: Mon, 6 Dec 2021 07:34:29 +0000 [thread overview]
Message-ID: <cc083619-3744-5979-4750-9c26f016505c@alliedtelesis.co.nz> (raw)
In-Reply-To: <20210913145146.766080-1-robh@kernel.org>
Hi Rob,
On 14/09/21 2:51 am, Rob Herring wrote:
> It is possible to build a single dtb, but not with DT schema validation
> enabled. Enable the schema validation to run for %.dtb and %.dtbo
> targets. Anyone building a dtb for a specific platform *should* pay
> attention to schema warnings.
>
> This could be supported with a separate %.dt.yaml target instead.
> However, the .dt.yaml format is considered an intermediate format and
> could possibly go away at some point if schema checking is integrated
> into dtc. Also, the plan is to enable the schema checks by default once
> platforms are free of warnings, and this is a move in that direction.
Just started building 5.16-rc4 and hit the following error
/usr/src/linux/scripts/dtc/Makefile:23: *** dtc needs libyaml for DT
schema validation support. Install the necessary libyaml development
package.. Stop.
make: *** [/usr/src/linux/Makefile:1405: scripts_dtc] Error 2
make: *** Waiting for unfinished jobs....
I tracked it back to this patch and I gather that the "error" is very
much intended. Fixing it means I need to get a native libyaml into my
cross toolchain, which is doable but a bit of a hassle. This probably
affects other meta build systems like buildroot and yocto.
I think I understand what you're getting at but is it possible to have
some kind of escape hatch to avoid having to add a build time tool
dependency (or even bundling libyaml next to scripts/dtc)?
I also notice that when I do supply a toolchain with libyaml the build
times are impacted by a noticable factor.
> Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> v2:
> - Also enable schema checks on %.dtbo targets
> ---
> Makefile | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 7cfe4ff36f44..c57a7657c8dd 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1402,17 +1402,17 @@ endif
>
> ifneq ($(dtstree),)
>
> -%.dtb: include/config/kernel.release scripts_dtc
> - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
> +%.dtb: dt_binding_check include/config/kernel.release scripts_dtc
> + $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
>
> -%.dtbo: include/config/kernel.release scripts_dtc
> - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
> +%.dtbo: dt_binding_check include/config/kernel.release scripts_dtc
> + $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
>
> PHONY += dtbs dtbs_install dtbs_check
> dtbs: include/config/kernel.release scripts_dtc
> $(Q)$(MAKE) $(build)=$(dtstree)
>
> -ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
> +ifneq ($(filter dtbs_check %.dtb %.dtbo, $(MAKECMDGOALS)),)
> export CHECK_DTBS=y
> dtbs: dt_binding_check
> endif
next prev parent reply other threads:[~2021-12-06 7:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-13 14:51 [PATCH v2] kbuild: Enable DT schema checks for %.dtb targets Rob Herring
2021-09-13 15:19 ` Masahiro Yamada
2021-12-06 7:34 ` Chris Packham [this message]
2021-12-08 21:31 ` Rob Herring
2021-12-08 22:37 ` Chris Packham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cc083619-3744-5979-4750-9c26f016505c@alliedtelesis.co.nz \
--to=chris.packham@alliedtelesis.co.nz \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=robh@kernel.org \
--cc=trini@konsulko.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).