Re: [PATCH 1/1] dt-bindings: Fix multi pattern support in DT_SCHEMA_FILES

From: Cristian Ciocaltea
Date: Thu Feb 09 2023 - 14:14:37 EST


On 2/9/23 20:56, Rob Herring wrote:
On Thu, Feb 09, 2023 at 02:26:34AM +0200, Cristian Ciocaltea wrote:
DT_SCHEMA_FILES used to allow specifying a space separated list of file
paths, but the introduction of partial matches support broke this
feature:

That only happened to work by chance...


Yeah, I remember you mentioned that a while ago when I provided a similar fix (96993a59f94d). I still find this useful, though..


$ make dtbs_check DT_SCHEMA_FILES="path/to/schema1.yaml path/to/schema2.yaml"

Spaces are valid in filenames though we avoid them. Perhaps it would be
better to use ':'.

Agree, will handle this in v2.

[...]
LINT Documentation/devicetree/bindings
usage: yamllint [-h] [-] [-c CONFIG_FILE | -d CONFIG_DATA] [--list-files] [...]
[-v]
[FILE_OR_DIR ...]
yamllint: error: one of the arguments FILE_OR_DIR - is required

I think this also happens if nothing matches.

[...]

Restore the lost functionality by preparing a grep filter that is able
to handle multiple search patterns.

Fixes: 309d955985ee ("dt-bindings: kbuild: Support partial matches with DT_SCHEMA_FILES")


Should be no blank line.

Thanks for noticing, that was unintentional.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
index bf2d8a8ced77..5475c25ae803 100644
--- a/Documentation/devicetree/bindings/Makefile
+++ b/Documentation/devicetree/bindings/Makefile
@@ -28,7 +28,7 @@ $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
-name 'processed-schema*' \)
-find_cmd = $(find_all_cmd) | grep -F "$(DT_SCHEMA_FILES)"
+find_cmd = $(find_all_cmd) | grep -F -e "$(subst $() ," -e ",$(strip $(DT_SCHEMA_FILES)))"
CHK_DT_DOCS := $(shell $(find_cmd))
quiet_cmd_yamllint = LINT $(src)
--
2.39.1