Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp2221056pxm; Fri, 4 Mar 2022 11:41:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMwWRuSD2Rhc4uebTV0Qr0IM/RIWdSlBrxOZsA2E/5Jnrc8f0QUeRD0/q0nsSqyZt6OxgT X-Received: by 2002:a17:90b:1c8e:b0:1bf:364c:dd7a with SMTP id oo14-20020a17090b1c8e00b001bf364cdd7amr217510pjb.103.1646422896721; Fri, 04 Mar 2022 11:41:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646422896; cv=none; d=google.com; s=arc-20160816; b=vb8QWf3Btl5KO3KEMbY5Nq8iIxDf9MM7vjUxdBt1FO0ADLLRH6wUOQautAHh1nIAHo zimw3pOF7m1BRC6VZRF4rEftPMv7ulg0f7ZU5oYVquiauFMajnj5k3ITwDngKxEFSDju j7lgpIJWfmFFlrYH52TQyVilomIQAHrH2Z5W9OnLUEF76qqfyPu6LoZvQmoHgUNiDyDz UslySiIiH2bdEHgyua4YS4Gfl53/jPuWoKazMN0Wrl8+K8lBzRV6G7uav10nZEr8JbEK SA1lU7HsxCilpsVBSvUeI8wGEhP9dn8gXUcrr33qFA3uVpLwWGNbbYg7Impm/oHlK4fE RuCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=weWTaQDP3CA4NhFzorOAJy6KiaLPtRacmR1AQVk0d1w=; b=yM8AYaqaXJgXTRodn+DmA3B1SVdJ1cQeZ7BQuWkmrOQvyXAm3QG+hOQSchCsr1WT+T 0b9Qiq+bdguPIv2fZyyPxJkHfnWO3UoxTux4c4FqqZBPAlxP1+56Sn0xrLjIqdIfmDyW nt0d5VjW1G5+HkZRnVwAB1U9ibiDeyp641Q/y5xHcbtWcU7j9sNYSmWCVh5coBKFozC8 SZGDtQ8segiO+t163JFcEg518m9vCxIAimqCwffJtBwjRN2oTZsG58lrys6PYPwn8h0F OCYz00uRdN7VHjMaTp6xyGA2BRVH6LPBG+LczDqziY9B+u7BWb4JMReS2fUZVSfViskM H88w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=Mn7A7sk9; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id v10-20020a63bf0a000000b00372d4a57035si5198897pgf.506.2022.03.04.11.41.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Mar 2022 11:41:36 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=Mn7A7sk9; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4380C230679; Fri, 4 Mar 2022 11:17:08 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231546AbiCDLtm (ORCPT + 99 others); Fri, 4 Mar 2022 06:49:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229574AbiCDLtl (ORCPT ); Fri, 4 Mar 2022 06:49:41 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 680F818CC29; Fri, 4 Mar 2022 03:48:52 -0800 (PST) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3A43951C; Fri, 4 Mar 2022 12:48:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1646394530; bh=Tpmci2229+d69SIklAmDsEQusgFyc/vp2PTOJIMLm2I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Mn7A7sk9koDrV8kFK7nOrLrJz4m5dHtM1/DeQzlt/y3cqkV0pcKzwQO18olJzNJbt AnjrfaRVlWXsDgZJCGTBtWG1wnIbPv+tA4png3K5nU6+BNuwX0wMXH/76ehXTptVHq 5kLuAQW656aszJpVgIgsLGLK7dcVyltzcjHN71m8= Date: Fri, 4 Mar 2022 13:48:37 +0200 From: Laurent Pinchart To: Rob Herring Cc: Masahiro Yamada , Krzysztof Kozlowski , Michal Marek , Nick Desaulniers , Geert Uytterhoeven , Maxime Ripard , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-kbuild@vger.kernel.org Subject: Re: [PATCH 1/2] dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate Message-ID: References: <20220303224237.2497570-1-robh@kernel.org> <20220303224237.2497570-2-robh@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20220303224237.2497570-2-robh@kernel.org> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 03, 2022 at 04:42:36PM -0600, Rob Herring wrote: > In preparation for supporting validation of DTB files, the full > processed schema will always be needed in order to extract type > information from it. Therefore, the processed schema containing only > what DT_SCHEMA_FILES specifies won't work. Instead, dt-validate has > gained an option, -l or --limit, to specify which schema(s) to use for > validation. > > As the command line option is new, we the minimum dtschema version must be > updated. > > Cc: Masahiro Yamada > Signed-off-by: Rob Herring > --- > Documentation/devicetree/bindings/Makefile | 28 +++------------------- > scripts/Makefile.lib | 3 +-- > 2 files changed, 4 insertions(+), 27 deletions(-) > > diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile > index 61ec18ecc931..246ba0ecab64 100644 > --- a/Documentation/devicetree/bindings/Makefile > +++ b/Documentation/devicetree/bindings/Makefile > @@ -6,7 +6,7 @@ DT_MK_SCHEMA ?= dt-mk-schema > DT_SCHEMA_LINT := $(shell which yamllint || \ > echo "warning: yamllint not installed, skipping. To install, run 'pip install yamllint'" >&2) > > -DT_SCHEMA_MIN_VERSION = 2021.2.1 > +DT_SCHEMA_MIN_VERSION = 2022.3 > > PHONY += check_dtschema_version > check_dtschema_version: > @@ -25,9 +25,6 @@ quiet_cmd_extract_ex = DTEX $@ > $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE > $(call if_changed,extract_ex) > > -# Use full schemas when checking %.example.dts > -DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json > - > find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \ > -name 'processed-schema*' ! \ > -name '*.example.dt.yaml' \) > @@ -70,29 +67,10 @@ override DTC_FLAGS := \ > # Disable undocumented compatible checks until warning free > override DT_CHECKER_FLAGS ?= > > -$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE > +$(obj)/processed-schema.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE > $(call if_changed_rule,chkdt) > > -ifeq ($(DT_SCHEMA_FILES),) > - > -# Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too. > -# Just copy processed-schema-examples.json > - > -$(obj)/processed-schema.json: $(obj)/processed-schema-examples.json FORCE > - $(call if_changed,copy) > - > -else > - > -# If DT_SCHEMA_FILES is specified, use it for processed-schema.json > - > -$(obj)/processed-schema.json: DT_MK_SCHEMA_FLAGS := -u > -$(obj)/processed-schema.json: $(CHK_DT_DOCS) check_dtschema_version FORCE > - $(call if_changed,mk_schema) > - > -endif > - > -always-$(CHECK_DT_BINDING) += processed-schema-examples.json > -always-$(CHECK_DTBS) += processed-schema.json > +always-y += processed-schema.json > always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dts, $(CHK_DT_DOCS)) > always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dt.yaml, $(CHK_DT_DOCS)) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 79be57fdd32a..9f1e8442564e 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -361,9 +361,8 @@ $(multi-dtb-y): FORCE > $(call multi_depend, $(multi-dtb-y), .dtb, -dtbs) > > DT_CHECKER ?= dt-validate > -DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),,-m) > +DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),-l $(DT_SCHEMA_FILES),-m) > DT_BINDING_DIR := Documentation/devicetree/bindings > -# DT_TMP_SCHEMA may be overridden from Documentation/devicetree/bindings/Makefile > DT_TMP_SCHEMA ?= $(objtree)/$(DT_BINDING_DIR)/processed-schema.json This could now use := instead of ?= Apart from the fact that 2022.3 hasn't been tagged yet as pointed out by Geert, this looks fine to me (but I'm no expert in this area). > > quiet_cmd_dtb_check = CHECK $@ -- Regards, Laurent Pinchart