From patchwork Sat Feb 29 00:37:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rob Herring (Arm)" X-Patchwork-Id: 11413625 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DC4591395 for ; Sat, 29 Feb 2020 00:37:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BB4042469D for ; Sat, 29 Feb 2020 00:37:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582936658; bh=DFfEvWB755pS1UEIERm9yRvErlBRMkC7dtr1xkwB3gc=; h=From:To:Cc:Subject:Date:List-ID:From; b=OJt+8Yl1Gg+4kuQf+1yvH+Lh5GgDX9xS6RzYoOzary0frvnMnpy5NZTTo90xA0vh9 EK6YJLrsQNc8WJoZh+TzTpcEK5aRRUQkdXVAuPP05efuQHC80vwunTiwPqwH+Sdv2T Yt3s2ybpTfSNxSmrRXtCeX+WEZ7vO11S3co+/lpg= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726046AbgB2Ahi (ORCPT ); Fri, 28 Feb 2020 19:37:38 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:40804 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726359AbgB2Ahf (ORCPT ); Fri, 28 Feb 2020 19:37:35 -0500 Received: by mail-ot1-f65.google.com with SMTP id a36so4316620otb.7; Fri, 28 Feb 2020 16:37:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=CQl42sI6/G4yLl+ObzR/HUl9MX01F+RW6KokpYPjBTo=; b=Upf2/7ZALQAPxZ0mVoQh2LDtXHy/9bHTFmS4wUaBJEdDy+qE5D90QGb0Ba3PJiFGr4 zuZMleOMTUZtC8Z2ZkrquSIhEKmHxB2WFrM/FOFbuxFjzNj7Th113zdF5f23thEzk6Xl cH4SwyBMG+KNueK0yLUrUt//rJyt12v2mm3IeZeeZU0J/M2A7AwaH0FH37c/YRoncQyP BchPaS4cMl56NGHUlH2O8lZN2MyEzpuj8ycgUl3g2PDQ76EFHMogAWOdtFRuX3c30oV1 BpgSmgD93n85l94Hzb/2DUVhCoxsnK3IRQSczpAeSPA1EWoUqki5EeRv+Gk1YeTCXqkf EGXg== X-Gm-Message-State: APjAAAUZqSEbbkrWZDfkjtgayy0TVrNnSPVTzmRTiIOwZ3PphYnVQuY6 OtIQLMd6rt6+C3JBFq6l6JnnyLw= X-Google-Smtp-Source: APXvYqyQ7MI4s/YK5RnOZwQdIn1huoadrYKVYdBfu7/r5YUcJNFn6Bgo+CJOwHykk57mCByJOeDQXQ== X-Received: by 2002:a9d:61cc:: with SMTP id h12mr4652537otk.154.1582936652744; Fri, 28 Feb 2020 16:37:32 -0800 (PST) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id t23sm3713619oic.28.2020.02.28.16.37.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 16:37:32 -0800 (PST) From: Rob Herring To: Masahiro Yamada Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Michal Marek , linux-kbuild@vger.kernel.org Subject: [PATCH v2 1/2] kbuild: Always validate DT binding examples Date: Fri, 28 Feb 2020 18:37:30 -0600 Message-Id: <20200229003731.2728-1-robh@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Most folks only run dt_binding_check on the single schema they care about by setting DT_SCHEMA_FILES. That means example is only checked against that one schema which is not always sufficient. Let's address this by splitting processed-schema.yaml into 2 files: one that's always all schemas for the examples and one that's just the schema in DT_SCHEMA_FILES for dtbs. Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Co-developed-by: Masahiro Yamada Signed-off-by: Rob Herring Acked-by: Masahiro Yamada --- Masahiro, given you pretty much re-wrote this, I added you as Co-developed-by. Based on next/master Documentation/devicetree/bindings/.gitignore | 2 +- Documentation/devicetree/bindings/Makefile | 22 +++++++++++++------- scripts/Makefile.lib | 3 ++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/.gitignore b/Documentation/devicetree/bindings/.gitignore index ef82fcfcccab..57afa1533a5f 100644 --- a/Documentation/devicetree/bindings/.gitignore +++ b/Documentation/devicetree/bindings/.gitignore @@ -1,2 +1,2 @@ *.example.dts -processed-schema.yaml +processed-schema*.yaml diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile index 646cb3525373..7c40d5ba1b51 100644 --- a/Documentation/devicetree/bindings/Makefile +++ b/Documentation/devicetree/bindings/Makefile @@ -2,7 +2,6 @@ DT_DOC_CHECKER ?= dt-doc-validate DT_EXTRACT_EX ?= dt-extract-example DT_MK_SCHEMA ?= dt-mk-schema -DT_MK_SCHEMA_FLAGS := $(if $(DT_SCHEMA_FILES), -u) quiet_cmd_chk_binding = CHKDT $(patsubst $(srctree)/%,%,$<) cmd_chk_binding = $(DT_DOC_CHECKER) -u $(srctree)/$(src) $< ; \ @@ -11,26 +10,33 @@ quiet_cmd_chk_binding = CHKDT $(patsubst $(srctree)/%,%,$<) $(obj)/%.example.dts: $(src)/%.yaml FORCE $(call if_changed,chk_binding) -DT_TMP_SCHEMA := processed-schema.yaml +# Use full schemas when checking %.example.dts +DT_TMP_SCHEMA := $(obj)/processed-schema-examples.yaml quiet_cmd_mk_schema = SCHEMA $@ cmd_mk_schema = $(DT_MK_SCHEMA) $(DT_MK_SCHEMA_FLAGS) -o $@ $(real-prereqs) -DT_DOCS = $(shell \ +DT_DOCS = $(addprefix $(src)/, \ + $(shell \ cd $(srctree)/$(src) && \ find * \( -name '*.yaml' ! \ - -name $(DT_TMP_SCHEMA) ! \ + -name 'processed-schema*' ! \ -name '*.example.dt.yaml' \) \ - ) + )) -DT_SCHEMA_FILES ?= $(addprefix $(src)/,$(DT_DOCS)) +DT_SCHEMA_FILES ?= $(DT_DOCS) ifeq ($(CHECK_DTBS),) extra-y += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES)) extra-y += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES)) +extra-y += processed-schema-examples.yaml + +$(obj)/processed-schema-examples.yaml: $(DT_DOCS) FORCE + $(call if_changed,mk_schema) endif -$(obj)/$(DT_TMP_SCHEMA): $(DT_SCHEMA_FILES) FORCE +$(obj)/processed-schema.yaml: DT_MK_SCHEMA_FLAGS := -u +$(obj)/processed-schema.yaml: $(DT_SCHEMA_FILES) FORCE $(call if_changed,mk_schema) -extra-y += $(DT_TMP_SCHEMA) +extra-y += processed-schema.yaml diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index f5ff506e4a24..b12dd5ba4896 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -307,7 +307,8 @@ $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE DT_CHECKER ?= dt-validate DT_BINDING_DIR := Documentation/devicetree/bindings -DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.yaml +# DT_TMP_SCHEMA may be overridden from Documentation/devicetree/bindings/Makefile +DT_TMP_SCHEMA ?= $(objtree)/$(DT_BINDING_DIR)/processed-schema.yaml quiet_cmd_dtb_check = CHECK $@ cmd_dtb_check = $(DT_CHECKER) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ From patchwork Sat Feb 29 00:37:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rob Herring (Arm)" X-Patchwork-Id: 11413623 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 157F61395 for ; Sat, 29 Feb 2020 00:37:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DB1812467D for ; Sat, 29 Feb 2020 00:37:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582936655; bh=lzk/V2BhySbvR7SS4HsmvygUZHYJrp81uXSAkjCii3s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=VqyjfFx+Zji7CRPIC0iiI2sUDNuX9y0DDVNRozEsVOeAhXRje5ZH1YAtFnMduX/cE PvgGe8fKxs061/s0eiXM0T6wZDV9IjyFc7EIfFF2lLJtAqk7wvqCGfPhrRdS4p5O44 uBGRmkJc3je2jVDlwO7PiMG/UnTr8SANMRw2UGKM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726418AbgB2Ahf (ORCPT ); Fri, 28 Feb 2020 19:37:35 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:43390 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726046AbgB2Ahf (ORCPT ); Fri, 28 Feb 2020 19:37:35 -0500 Received: by mail-ot1-f66.google.com with SMTP id j5so3429554otn.10; Fri, 28 Feb 2020 16:37:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+KGXtOvxiA0IpTTWNq3e4uQPXdV4/lf3e5/qDF38Lbw=; b=rhtgoJP1oCCZT0C26VdyNrbCvwM0sfJvBe5RhJq0QLUIatdPFdzR/2GtMF5Tjr5zQ6 R3ift9SzJo4YL7GIPsH0p/+HdSMYq7NsUNuuIwgdpioXTrzAxGQrLc5nJ+hk6fSkRcuL HhiYHvtzx9utMh1+5JX24lj31OWWI/udgiXJFVxRnw5cSkoGNN36f3garIJHm153vuCr fsh2zmP0Y5DZ8qqIRwJfub2rRL5VjU59ShvAPbGjIB/6HlJpbkdg2ymjIdDjQSLkiJd/ MJ+NWz/CoYD6BlAM5bFuY47e+5ZOYJavguh+++peYQd6EgvOQXzA5IoqC78Ve3J203z1 uEug== X-Gm-Message-State: APjAAAViOnEVlbyrqz0JqMvQeXqrhzfEybjX+zJ/hQBiaGYWNYVNHs0p P/F6wAPaZhNquUPeAuMuGQ== X-Google-Smtp-Source: APXvYqztcy3vU3MWrA5yZzZErsrUddW8DGwpxBly96I7eJEXM1Uj5MxlM4cz3blE5t1o3Lj/3ITc0g== X-Received: by 2002:a9d:4e8a:: with SMTP id v10mr5708626otk.17.1582936654034; Fri, 28 Feb 2020 16:37:34 -0800 (PST) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id t23sm3713619oic.28.2020.02.28.16.37.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 16:37:33 -0800 (PST) From: Rob Herring To: Masahiro Yamada Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Michal Marek , linux-kbuild@vger.kernel.org Subject: [PATCH v2 2/2] kbuild: Build DT binding examples with dtc warnings enabled Date: Fri, 28 Feb 2020 18:37:31 -0600 Message-Id: <20200229003731.2728-2-robh@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200229003731.2728-1-robh@kernel.org> References: <20200229003731.2728-1-robh@kernel.org> MIME-Version: 1.0 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Now that we have a separate rule for DT binding examples, we can customize the dtc options. Let's adjust the dtc warnings to me more strict by default so the examples get cleaned up as they get converted to schema. Leaving 'avoid_unnecessary_addr_size' and 'graph_child_address' warnings disabled as examples tend to be incomplete and they generates a lot of warnings. Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Co-developed-by: Masahiro Yamada Signed-off-by: Rob Herring --- Documentation/devicetree/bindings/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile index 7c40d5ba1b51..b62c0470f122 100644 --- a/Documentation/devicetree/bindings/Makefile +++ b/Documentation/devicetree/bindings/Makefile @@ -31,6 +31,10 @@ extra-y += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES)) extra-y += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES)) extra-y += processed-schema-examples.yaml +override DTC_FLAGS := \ + -Wno-avoid_unnecessary_addr_size \ + -Wno-graph_child_address + $(obj)/processed-schema-examples.yaml: $(DT_DOCS) FORCE $(call if_changed,mk_schema) endif