Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) DT_DOC_CHECKER ?= dt-doc-validate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) DT_EXTRACT_EX ?= dt-extract-example
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) DT_MK_SCHEMA ?= dt-mk-schema
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) DT_SCHEMA_LINT = $(shell which yamllint)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) DT_SCHEMA_MIN_VERSION = 2020.8.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) PHONY += check_dtschema_version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) check_dtschema_version:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	@{ echo $(DT_SCHEMA_MIN_VERSION); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	$(DT_DOC_CHECKER) --version 2>/dev/null || echo 0; } | sort -VC || \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	{ echo "ERROR: dtschema minimum version is v$(DT_SCHEMA_MIN_VERSION)" >&2; false; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) quiet_cmd_extract_ex = DTEX    $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)       cmd_extract_ex = $(DT_EXTRACT_EX) $< > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	$(call if_changed,extract_ex)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) # Use full schemas when checking %.example.dts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) find_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 		-name 'processed-schema*' ! \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		-name '*.example.dt.yaml' \)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) quiet_cmd_yamllint = LINT    $(src)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)       cmd_yamllint = $(find_cmd) | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)                      xargs $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) quiet_cmd_chk_bindings = CHKDT   $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)       cmd_chk_bindings = $(find_cmd) | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)                          xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(srctree)/$(src)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) quiet_cmd_mk_schema = SCHEMA  $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)       cmd_mk_schema = f=$$(mktemp) ; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)                       $(if $(DT_MK_SCHEMA_FLAGS), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)                            echo $(real-prereqs), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)                            $(find_cmd)) > $$f ; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)                       $(DT_MK_SCHEMA) -j $(DT_MK_SCHEMA_FLAGS) @$$f > $@ ; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 		      rm -f $$f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) define rule_chkdt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	$(if $(DT_SCHEMA_LINT),$(call cmd,yamllint),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	$(call cmd,chk_bindings)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	$(call cmd,mk_schema)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) endef
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) DT_DOCS = $(shell $(find_cmd) | sed -e 's|^$(srctree)/||')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) override DTC_FLAGS := \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 	-Wno-avoid_unnecessary_addr_size \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 	-Wno-graph_child_address \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	-Wno-interrupt_provider
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) $(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	$(call if_changed_rule,chkdt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) ifeq ($(DT_SCHEMA_FILES),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) # Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) # Just copy processed-schema-examples.json
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) $(obj)/processed-schema.json: $(obj)/processed-schema-examples.json FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 	$(call if_changed,copy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) DT_SCHEMA_FILES = $(DT_DOCS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) # If DT_SCHEMA_FILES is specified, use it for processed-schema.json
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) $(obj)/processed-schema.json: DT_MK_SCHEMA_FLAGS := -u
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) $(obj)/processed-schema.json: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	$(call if_changed,mk_schema)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) extra-$(CHECK_DT_BINDING) += processed-schema-examples.json
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) extra-$(CHECK_DTBS) += processed-schema.json
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) # Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) # build artifacts here before they are processed by scripts/Makefile.clean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) clean-files = $(shell find $(obj) \( -name '*.example.dts' -o \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) 			-name '*.example.dt.yaml' \) -delete 2>/dev/null)