mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	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
	
	 Masahiro Yamada
						Masahiro Yamada