Skip to content

Commit f888bdf

Browse files
committed
Merge tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull devicetree updates from Rob Herring: - Update dtc to upstream version v1.6.0-31-gcbca977ea121 - dtx_diff help text reformatting - Speed-up validation time for binding and dtb checks using json for intermediate files - Add support for running yamllint on DT schema files - Remove old booting-without-of.rst - Extend the example schema to address common issues - Cleanup handling of additionalProperties/unevaluatedProperties - Ensure all DSI controller schemas reference dsi-controller.yaml - Vendor prefixes for Zealz, Wandbord/Technexion, Embest RIoT, Rex, DFI, and Cisco Meraki - Convert at25, SPMI bus, TI hwlock, HiSilicon Hi3660 USB3 PHY, Arm SP805 watchdog, Arm SP804, and Samsung 11-pin USB connector to DT schema - Convert HiSilicon SoC and syscon bindings to DT schema - Convert SiFive Risc-V L2 cache, PLIC, PRCI, and PWM to DT schema - Convert i.MX bindings for w1, crypto, rng, SIM, PM, DDR, SATA, vf610 GPIO, and UART to DT schema - Add i.MX 8M compatible strings - Add LM81 and DS1780 as trivial devices - Various missing properties added to fix dtb validation warnings * tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (111 commits) dt-bindings: misc: explicitly add #address-cells for slave mode spi: dt-bindings: spi-controller: explicitly require #address-cells=<0> for slave mode dt: Remove booting-without-of.rst dt-bindings: update usb-c-connector example dt-bindings: arm: hisilicon: add missing properties into cpuctrl.yaml dt-bindings: arm: hisilicon: add missing properties into sysctrl.yaml dt-bindings: pwm: imx: document i.MX compatibles scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121 dt-bindings: Add running yamllint to dt_binding_check dt-bindings: powerpc: Add a schema for the 'sleep' property dt-bindings: pinctrl: sirf: Fix typo abitrary dt-bindings: pinctrl: qcom: Fix typo abitrary dt-bindings: Explicitly allow additional properties in common schemas dt-bindings: Use 'additionalProperties' instead of 'unevaluatedProperties' dt-bindings: Add missing 'unevaluatedProperties' Docs: Fixing spelling errors in Documentation/devicetree/bindings/ dt-bindings: arm: hisilicon: convert Hi6220 domain controller bindings to json-schema dt-bindings: riscv: convert pwm bindings to json-schema dt-bindings: riscv: convert plic bindings to json-schema dt-bindings: fu540: prci: convert PRCI bindings to json-schema ...
2 parents b4e1bce + bd36e51 commit f888bdf

File tree

432 files changed

+3774
-3417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

432 files changed

+3774
-3417
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# SPDX-License-Identifier: GPL-2.0-only
22
*.example.dts
33
processed-schema*.yaml
4+
processed-schema*.json
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
extends: relaxed
2+
3+
rules:
4+
line-length:
5+
# 80 chars should be enough, but don't fail if a line is longer
6+
max: 110
7+
allow-non-breakable-words: true
8+
level: warning
9+
braces:
10+
min-spaces-inside: 0
11+
max-spaces-inside: 1
12+
min-spaces-inside-empty: 0
13+
max-spaces-inside-empty: 0
14+
brackets:
15+
min-spaces-inside: 0
16+
max-spaces-inside: 1
17+
min-spaces-inside-empty: 0
18+
max-spaces-inside-empty: 0
19+
colons: {max-spaces-before: 0, max-spaces-after: 1}
20+
commas: {min-spaces-after: 1, max-spaces-after: 1}
21+
comments:
22+
require-starting-space: false
23+
min-spaces-from-content: 1
24+
comments-indentation: disable
25+
document-start:
26+
present: true
27+
empty-lines:
28+
max: 3
29+
max-end: 1
30+
empty-values:
31+
forbid-in-block-mappings: true
32+
forbid-in-flow-mappings: true
33+
hyphens:
34+
max-spaces-after: 1
35+
indentation:
36+
spaces: 2
37+
indent-sequences: true
38+
check-multi-line-strings: false
39+
trailing-spaces: false

Documentation/devicetree/bindings/Makefile

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,50 @@ DT_DOC_CHECKER ?= dt-doc-validate
33
DT_EXTRACT_EX ?= dt-extract-example
44
DT_MK_SCHEMA ?= dt-mk-schema
55

6-
DT_SCHEMA_MIN_VERSION = 2020.5
6+
DT_SCHEMA_LINT = $(shell which yamllint)
7+
8+
DT_SCHEMA_MIN_VERSION = 2020.8.1
79

810
PHONY += check_dtschema_version
911
check_dtschema_version:
1012
@{ echo $(DT_SCHEMA_MIN_VERSION); \
1113
$(DT_DOC_CHECKER) --version 2>/dev/null || echo 0; } | sort -VC || \
1214
{ echo "ERROR: dtschema minimum version is v$(DT_SCHEMA_MIN_VERSION)" >&2; false; }
1315

14-
quiet_cmd_chk_binding = CHKDT $(patsubst $(srctree)/%,%,$<)
15-
cmd_chk_binding = $(DT_DOC_CHECKER) -u $(srctree)/$(src) $< ; \
16-
$(DT_EXTRACT_EX) $< > $@
16+
quiet_cmd_extract_ex = DTEX $@
17+
cmd_extract_ex = $(DT_EXTRACT_EX) $< > $@
1718

1819
$(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
19-
$(call if_changed,chk_binding)
20+
$(call if_changed,extract_ex)
2021

2122
# Use full schemas when checking %.example.dts
22-
DT_TMP_SCHEMA := $(obj)/processed-schema-examples.yaml
23+
DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json
2324

2425
find_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
2526
-name 'processed-schema*' ! \
2627
-name '*.example.dt.yaml' \)
2728

29+
quiet_cmd_yamllint = LINT $(src)
30+
cmd_yamllint = $(find_cmd) | \
31+
xargs $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint
32+
33+
quiet_cmd_chk_bindings = CHKDT $@
34+
cmd_chk_bindings = $(find_cmd) | \
35+
xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(srctree)/$(src)
36+
2837
quiet_cmd_mk_schema = SCHEMA $@
29-
cmd_mk_schema = rm -f $@ ; \
38+
cmd_mk_schema = f=$$(mktemp) ; \
3039
$(if $(DT_MK_SCHEMA_FLAGS), \
3140
echo $(real-prereqs), \
32-
$(find_cmd)) | \
33-
xargs $(DT_MK_SCHEMA) $(DT_MK_SCHEMA_FLAGS) >> $@
41+
$(find_cmd)) > $$f ; \
42+
$(DT_MK_SCHEMA) -j $(DT_MK_SCHEMA_FLAGS) @$$f > $@ ; \
43+
rm -f $$f
44+
45+
define rule_chkdt
46+
$(if $(DT_SCHEMA_LINT),$(call cmd,yamllint),)
47+
$(call cmd,chk_bindings)
48+
$(call cmd,mk_schema)
49+
endef
3450

3551
DT_DOCS = $(shell $(find_cmd) | sed -e 's|^$(srctree)/||')
3652

@@ -39,33 +55,33 @@ override DTC_FLAGS := \
3955
-Wno-graph_child_address \
4056
-Wno-interrupt_provider
4157

42-
$(obj)/processed-schema-examples.yaml: $(DT_DOCS) check_dtschema_version FORCE
43-
$(call if_changed,mk_schema)
58+
$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
59+
$(call if_changed_rule,chkdt)
4460

4561
ifeq ($(DT_SCHEMA_FILES),)
4662

4763
# Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too.
48-
# Just copy processed-schema-examples.yaml
64+
# Just copy processed-schema-examples.json
4965

50-
$(obj)/processed-schema.yaml: $(obj)/processed-schema-examples.yaml FORCE
66+
$(obj)/processed-schema.json: $(obj)/processed-schema-examples.json FORCE
5167
$(call if_changed,copy)
5268

5369
DT_SCHEMA_FILES = $(DT_DOCS)
5470

5571
else
5672

57-
# If DT_SCHEMA_FILES is specified, use it for processed-schema.yaml
73+
# If DT_SCHEMA_FILES is specified, use it for processed-schema.json
5874

59-
$(obj)/processed-schema.yaml: DT_MK_SCHEMA_FLAGS := -u
60-
$(obj)/processed-schema.yaml: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
75+
$(obj)/processed-schema.json: DT_MK_SCHEMA_FLAGS := -u
76+
$(obj)/processed-schema.json: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
6177
$(call if_changed,mk_schema)
6278

6379
endif
6480

81+
extra-$(CHECK_DT_BINDING) += processed-schema-examples.json
82+
extra-$(CHECK_DTBS) += processed-schema.json
6583
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
6684
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
67-
extra-$(CHECK_DT_BINDING) += processed-schema-examples.yaml
68-
extra-$(CHECK_DTBS) += processed-schema.yaml
6985

7086
# Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of
7187
# build artifacts here before they are processed by scripts/Makefile.clean

Documentation/devicetree/bindings/arm/actions.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ maintainers:
1111
- Manivannan Sadhasivam <[email protected]>
1212

1313
properties:
14+
$nodename:
15+
const: "/"
1416
compatible:
1517
oneOf:
1618
# The Actions Semi S500 is a quad-core ARM Cortex-A9 SoC.

Documentation/devicetree/bindings/arm/altera.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ maintainers:
1010
- Dinh Nguyen <[email protected]>
1111

1212
properties:
13+
$nodename:
14+
const: "/"
1315
compatible:
1416
items:
1517
- enum:

Documentation/devicetree/bindings/arm/axxia.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ maintainers:
1010
- Anders Berg <[email protected]>
1111

1212
properties:
13+
$nodename:
14+
const: "/"
1315
compatible:
1416
description: LSI AXM5516 Validation board (Amarillo)
1517
items:

Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ required:
5454
- compatible
5555
- mboxes
5656

57+
additionalProperties: false
58+
5759
examples:
5860
- |
5961
firmware {

Documentation/devicetree/bindings/arm/bitmain.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ maintainers:
1010
- Manivannan Sadhasivam <[email protected]>
1111

1212
properties:
13+
$nodename:
14+
const: "/"
1315
compatible:
1416
items:
1517
- enum:

Documentation/devicetree/bindings/arm/coresight-cti.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,8 @@ then:
220220
required:
221221
- cpu
222222

223+
unevaluatedProperties: false
224+
223225
examples:
224226
# minimum CTI definition. DEVID register used to set number of triggers.
225227
- |

Documentation/devicetree/bindings/arm/cpus.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,8 @@ required:
341341
dependencies:
342342
rockchip,pmu: [enable-method]
343343

344+
additionalProperties: true
345+
344346
examples:
345347
- |
346348
cpus {

0 commit comments

Comments
 (0)