Commit 44ec8b20 authored by Rob Herring's avatar Rob Herring
Browse files

dt-bindings: Add running yamllint to dt_binding_check

Add a yamllint config file and support for running yamllint on DT
binding schema files. This runs on the whole tree as yamllint is Python
and suffers from Python's slow startup times.

Users can run on individual files doing:

yamllint -c Documentation/devicetree/bindings/.yamllint <binding file>

Link: https://lore.kernel.org/r/20201009170557.168785-1-robh@kernel.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 16b0b2ba
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
extends: relaxed

rules:
  line-length:
    # 80 chars should be enough, but don't fail if a line is longer
    max: 110
    allow-non-breakable-words: true
    level: warning
  braces:
    min-spaces-inside: 0
    max-spaces-inside: 1
    min-spaces-inside-empty: 0
    max-spaces-inside-empty: 0
  brackets:
    min-spaces-inside: 0
    max-spaces-inside: 1
    min-spaces-inside-empty: 0
    max-spaces-inside-empty: 0
  colons: {max-spaces-before: 0, max-spaces-after: 1}
  commas: {min-spaces-after: 1, max-spaces-after: 1}
  comments:
    require-starting-space: false
    min-spaces-from-content: 1
  comments-indentation: disable
  document-start:
    present: true
  empty-lines:
    max: 3
    max-end: 1
  empty-values:
    forbid-in-block-mappings: true
    forbid-in-flow-mappings: true
  hyphens:
    max-spaces-after: 1
  indentation:
    spaces: 2
    indent-sequences: true
    check-multi-line-strings: false
  trailing-spaces: false
+8 −1
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ DT_DOC_CHECKER ?= dt-doc-validate
DT_EXTRACT_EX ?= dt-extract-example
DT_MK_SCHEMA ?= dt-mk-schema

DT_SCHEMA_LINT = $(shell which yamllint)

DT_SCHEMA_MIN_VERSION = 2020.8.1

PHONY += check_dtschema_version
@@ -24,6 +26,10 @@ find_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
		-name 'processed-schema*' ! \
		-name '*.example.dt.yaml' \)

quiet_cmd_yamllint = LINT    $(src)
      cmd_yamllint = $(find_cmd) | \
                     xargs $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint

quiet_cmd_chk_bindings = CHKDT   $@
      cmd_chk_bindings = $(find_cmd) | \
                         xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(srctree)/$(src)
@@ -37,6 +43,7 @@ quiet_cmd_mk_schema = SCHEMA $@
		      rm -f $$f

define rule_chkdt
	$(if $(DT_SCHEMA_LINT),$(call cmd,yamllint),)
	$(call cmd,chk_bindings)
	$(call cmd,mk_schema)
endef
@@ -48,7 +55,7 @@ override DTC_FLAGS := \
	-Wno-graph_child_address \
	-Wno-interrupt_provider

$(obj)/processed-schema-examples.json: $(DT_DOCS) check_dtschema_version FORCE
$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
	$(call if_changed_rule,chkdt)

ifeq ($(DT_SCHEMA_FILES),)