linux-kbuild.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).