forked from mirrors/linux
		
	kbuild: allow to run dt_binding_check and dtbs_check in a single command
Since commit 93512dad33 ("dt-bindings: Improve validation build error
handling"), 'make dtbs_check' does not validate the schema fully.
If you want to check everything, you need to run two commands separately.
  $ make ARCH=arm dt_binding_check
  $ make ARCH=arm dtbs_check
They are exclusive each other, so you cannot do like this:
  $ make ARCH=arm dt_binding_check dtbs_check
In this case, dt-doc-validate and dt-extract-example are skipped
because CHECK_DTBS is set.
Let's make it possible to run these two targets in a single command.
It will be useful for schema writers.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									b5154bf63e
								
							
						
					
					
						commit
						e10c4321dc
					
				
					 3 changed files with 12 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -26,10 +26,9 @@ DT_DOCS = $(addprefix $(src)/, \
 | 
			
		|||
 | 
			
		||||
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
 | 
			
		||||
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
 | 
			
		||||
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
 | 
			
		||||
extra-$(CHECK_DT_BINDING) += processed-schema-examples.yaml
 | 
			
		||||
 | 
			
		||||
override DTC_FLAGS := \
 | 
			
		||||
	-Wno-avoid_unnecessary_addr_size \
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +36,6 @@ override DTC_FLAGS := \
 | 
			
		|||
 | 
			
		||||
$(obj)/processed-schema-examples.yaml: $(DT_DOCS) FORCE
 | 
			
		||||
	$(call if_changed,mk_schema)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
$(obj)/processed-schema.yaml: DT_MK_SCHEMA_FLAGS := -u
 | 
			
		||||
$(obj)/processed-schema.yaml: $(DT_SCHEMA_FILES) FORCE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -147,6 +147,10 @@ Note that ``dtbs_check`` will skip any binding schema files with errors. It is
 | 
			
		|||
necessary to use ``dt_binding_check`` to get all the validation errors in the
 | 
			
		||||
binding schema files.
 | 
			
		||||
 | 
			
		||||
It is possible to run both in a single command::
 | 
			
		||||
 | 
			
		||||
    make dt_binding_check dtbs_check
 | 
			
		||||
 | 
			
		||||
It is also possible to run checks with a single schema file by setting the
 | 
			
		||||
``DT_SCHEMA_FILES`` variable to a specific schema file.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1250,10 +1250,10 @@ dtbs: include/config/kernel.release scripts_dtc
 | 
			
		|||
	$(Q)$(MAKE) $(build)=$(dtstree)
 | 
			
		||||
 | 
			
		||||
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
 | 
			
		||||
export CHECK_DTBS=y
 | 
			
		||||
dtbs: dt_binding_check
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
dtbs_check: export CHECK_DTBS=1
 | 
			
		||||
dtbs_check: dtbs
 | 
			
		||||
 | 
			
		||||
dtbs_install:
 | 
			
		||||
| 
						 | 
				
			
			@ -1269,6 +1269,10 @@ PHONY += scripts_dtc
 | 
			
		|||
scripts_dtc: scripts_basic
 | 
			
		||||
	$(Q)$(MAKE) $(build)=scripts/dtc
 | 
			
		||||
 | 
			
		||||
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
 | 
			
		||||
export CHECK_DT_BINDING=y
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
PHONY += dt_binding_check
 | 
			
		||||
dt_binding_check: scripts_dtc
 | 
			
		||||
	$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue