[GIT PULL] DeviceTree updates for v4.21

From: Rob Herring
Date: Thu Dec 27 2018 - 14:45:05 EST


Linus,

Please pull DT updates for v4.21. The biggest highlight here is the
start of using json-schema for DT bindings. Being able to validate
bindings has been discussed for years with little progress.

You'll notice my tag is not signed. I couldn't sign it because I'm
traveling and grabbed the wrong yubikey by mistake.

Rob

The following changes since commit ccda4af0f4b92f7b4c308d3acc262f4a7e3affad:

Linux 4.20-rc2 (2018-11-11 17:12:31 -0600)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
devicetree-for-4.21

for you to fetch changes up to 5801169a2ed20003f771acecf3ac00574cf10a38:

of: __of_detach_node() - remove node from phandle cache (2018-12-21
12:42:36 -0600)

----------------------------------------------------------------
Devicetree updates for v4.21:

- Initial support for DT bindings using json-schema language. This is
the start of converting DT bindings from free-form text to a
structured format.

- Reworking of initrd address initialization. This moves to using the
phys address instead of virt addr in the DT parsing code. This rework
was motivated by CONFIG_DEV_BLK_INITRD causing unnecessary rebuilding
of lots of files.

- Fix stale phandle entries in phandle cache

- DT overlay validation improvements. This exposed several memory leak
bugs which have been fixed.

- Use node name and device_type helper functions in DT code

- Last remaining conversions to using %pOFn printk specifier instead of
device_node.name directly

- Create new common RTC binding doc and move all trivial RTC devices out
of trivial-devices.txt.

- New bindings for Freescale MAG3110 magnetometer, Cadence Sierra PHY,
and Xen shared memory

- Update dtc to upstream version v1.4.7-57-gf267e674d145

----------------------------------------------------------------
Alan Douglas (1):
dt-bindings: phy: Document cadence Sierra PHY bindings

Alexandre Belloni (2):
dt-bindings: rtc: add generic bindings
dt-bindings: rtc: Move trivial RTCs to rtc.txt

Andreas Klinger (1):
gpio-omap.txt: add reg and interrupts properties

Anson Huang (1):
dt-bindings: iio: magnetometer: add dt-bindings for freescale mag3110

Florian Fainelli (6):
nds32: Remove phys_initrd_start and phys_initrd_size
arch: Make phys_initrd_start and phys_initrd_size global variables
of/fdt: Populate phys_initrd_start/phys_initrd_size from FDT
arm64: Utilize phys_initrd_start/phys_initrd_size
of/fdt: Remove custom __early_init_dt_declare_initrd() implementation
arch: Move initrd= parsing into do_mounts_initrd.c

Frank Rowand (20):
of: Documentation: remove unmaintained todo file
of: overlay: add tests to validate kfrees from overlay removal
of: overlay: add missing of_node_put() after add new node to changeset
of: overlay: add missing of_node_get() in __of_attach_node_sysfs
powerpc/pseries: add of_node_put() in dlpar_detach_node()
of: overlay: use prop add changeset entry for property in new nodes
of: overlay: do not duplicate properties from overlay for new nodes
of: overlay: reorder fields in struct fragment
of: overlay: validate overlay properties #address-cells and #size-cells
of: overlay: make all pr_debug() and pr_err() messages unique
of: overlay: test case of two fragments adding same node
of: overlay: check prevents multiple fragments add or delete same node
of: overlay: check prevents multiple fragments touching same property
of: unittest: remove unused of_unittest_apply_overlay() argument
of: overlay: set node fields from properties when add new overlay node
of: unittest: allow base devicetree to have symbol metadata
of: unittest: find overlays[] entry by name instead of index
of: unittest: initialize args before calling of_*parse_*()
of: of_node_get()/of_node_put() nodes held in phandle cache
of: __of_detach_node() - remove node from phandle cache

Lubomir Rintel (2):
dt-bindings: arm: mrvl: amend Browstone compatible string
dt-bindings: mrvl,intc: fix a trivial typo

Michal Simek (1):
dt-bindings: arm: Add missing Xilinx boards

Nick Kossifidis (1):
OF: Add a warning in case chosen node is not present

Rob Herring (33):
of/pdt: Remove unused of_pdt_build_more function ptr
Merge tag 'kfree_validate_v7-for-4.20' of
git://git.kernel.org/.../frowand/linux into dt/next
irqchip: Convert to using %pOFn instead of device_node.name
memory: Convert to using %pOFn instead of device_node.name
backlight: pm8941: Convert to using %pOFn instead of device_node.name
mtd: Convert to using %pOFn instead of device_node.name
power: reset: Convert to using %pOFn instead of device_node.name
of: Use device_type helpers to access the node type
scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145
kbuild: disable dtc simple_bus_reg warnings by default
kbuild: Enable dtc graph_port warning by default
of: Use of_node_name_eq for node name comparisons
kbuild: Add support for DT binding schema checks
dt-bindings: Add a writing DT schemas how-to and annotated example
dt-bindings: altera: Convert clkmgr binding to json-schema
dt-bindings: i2c: Convert i2c-gpio binding to json-schema
dt-bindings: timer: Convert ARM timer bindings to json-schema
dt-bindings: arm: Convert cpu binding to json-schema
dt-bindings: arm: Convert primecell binding to json-schema
dt-bindings: arm: Convert Altera board/soc bindings to json-schema
dt-bindings: arm: Convert Calxeda board/soc bindings to json-schema
dt-bindings: arm: Convert TI davinci board/soc bindings to json-schema
dt-bindings: arm: Convert TI nspire board/soc bindings to json-schema
dt-bindings: arm: Convert QCom board/soc bindings to json-schema
dt-bindings: arm: Convert CSR SiRF board/soc bindings to json-schema
dt-bindings: arm: Convert SPEAr board/soc bindings to json-schema
dt-bindings: arm: Convert ST STi board/soc bindings to json-schema
dt-bindings: arm: Convert VIA board/soc bindings to json-schema
dt-bindings: arm: Convert Xilinx board/soc bindings to json-schema
dt-bindings: arm: Convert ZTE board/soc bindings to json-schema
dt-bindings: arm: Convert Tegra board/soc bindings to json-schema
dt-bindings: Convert trivial-devices.txt to json-schema
Merge branch 'yaml-bindings-for-v4.21' into dt/next

Ryder Lee (1):
dt-bindings: rng: update bindings for MT7629 SoC

Stefano Stabellini (1):
devicetree,xen: add xen,shared-memory binding

.gitignore | 1 +
Documentation/Makefile | 2 +-
Documentation/devicetree/bindings/.gitignore | 2 +
Documentation/devicetree/bindings/Makefile | 27 ++
Documentation/devicetree/bindings/arm/altera.txt | 14 -
Documentation/devicetree/bindings/arm/altera.yaml | 20 +
.../bindings/arm/altera/socfpga-clk-manager.txt | 11 -
.../bindings/arm/altera/socfpga-clk-manager.yaml | 31 ++
Documentation/devicetree/bindings/arm/calxeda.txt | 15 -
Documentation/devicetree/bindings/arm/calxeda.yaml | 22 +
Documentation/devicetree/bindings/arm/cpus.txt | 490 --------------------
Documentation/devicetree/bindings/arm/cpus.yaml | 507 +++++++++++++++++++++
Documentation/devicetree/bindings/arm/davinci.txt | 25 -
.../devicetree/bindings/arm/mrvl/mrvl.txt | 2 +-
Documentation/devicetree/bindings/arm/nspire.txt | 14 -
.../devicetree/bindings/arm/primecell.txt | 46 --
.../devicetree/bindings/arm/primecell.yaml | 36 ++
Documentation/devicetree/bindings/arm/qcom.txt | 57 ---
Documentation/devicetree/bindings/arm/qcom.yaml | 125 +++++
Documentation/devicetree/bindings/arm/sirf.txt | 11 -
Documentation/devicetree/bindings/arm/sirf.yaml | 27 ++
Documentation/devicetree/bindings/arm/spear.txt | 26 --
Documentation/devicetree/bindings/arm/spear.yaml | 25 +
Documentation/devicetree/bindings/arm/sti.txt | 23 -
Documentation/devicetree/bindings/arm/sti.yaml | 23 +
Documentation/devicetree/bindings/arm/tegra.txt | 65 ---
Documentation/devicetree/bindings/arm/tegra.yaml | 101 ++++
.../devicetree/bindings/arm/ti/nspire.yaml | 24 +
.../devicetree/bindings/arm/ti/ti,davinci.yaml | 26 ++
Documentation/devicetree/bindings/arm/vt8500.txt | 22 -
Documentation/devicetree/bindings/arm/vt8500.yaml | 23 +
Documentation/devicetree/bindings/arm/xilinx.txt | 83 ----
Documentation/devicetree/bindings/arm/xilinx.yaml | 114 +++++
Documentation/devicetree/bindings/arm/zte.txt | 14 -
Documentation/devicetree/bindings/arm/zte.yaml | 26 ++
.../devicetree/bindings/example-schema.yaml | 170 +++++++
.../devicetree/bindings/gpio/gpio-omap.txt | 10 +-
Documentation/devicetree/bindings/i2c/i2c-gpio.txt | 46 --
.../devicetree/bindings/i2c/i2c-gpio.yaml | 73 +++
.../bindings/iio/magnetometer/mag3110.txt | 27 ++
.../bindings/interrupt-controller/mrvl,intc.txt | 2 +-
.../devicetree/bindings/phy/phy-cadence-sierra.txt | 67 +++
.../bindings/reserved-memory/xen,shared-memory.txt | 24 +
Documentation/devicetree/bindings/rng/mtk-rng.txt | 3 +-
Documentation/devicetree/bindings/rtc/rtc.txt | 64 +++
.../devicetree/bindings/timer/arm,arch_timer.txt | 112 -----
.../devicetree/bindings/timer/arm,arch_timer.yaml | 103 +++++
.../bindings/timer/arm,arch_timer_mmio.yaml | 120 +++++
.../devicetree/bindings/timer/arm,global_timer.txt | 27 --
.../bindings/timer/arm,global_timer.yaml | 46 ++
.../devicetree/bindings/trivial-devices.txt | 190 --------
.../devicetree/bindings/trivial-devices.yaml | 342 ++++++++++++++
Documentation/devicetree/todo.txt | 10 -
Documentation/devicetree/writing-schema.md | 130 ++++++
MAINTAINERS | 2 +-
Makefile | 13 +-
arch/arc/mm/init.c | 25 +-
arch/arm/mm/init.c | 28 +-
arch/arm64/include/asm/memory.h | 8 -
arch/arm64/mm/init.c | 34 +-
arch/nds32/mm/init.c | 2 -
arch/powerpc/platforms/pseries/dlpar.c | 2 +
arch/unicore32/mm/init.c | 24 +-
drivers/irqchip/irq-gic-v3.c | 4 +-
drivers/irqchip/irq-mscc-ocelot.c | 6 +-
drivers/irqchip/irq-orion.c | 22 +-
drivers/irqchip/irq-stm32-exti.c | 6 +-
drivers/irqchip/irq-tango.c | 10 +-
drivers/irqchip/irq-tb10x.c | 18 +-
drivers/memory/omap-gpmc.c | 18 +-
drivers/memory/samsung/exynos-srom.c | 4 +-
drivers/memory/tegra/mc.c | 6 +-
drivers/memory/tegra/tegra124-emc.c | 12 +-
drivers/mtd/devices/powernv_flash.c | 2 +-
drivers/of/address.c | 6 +-
drivers/of/base.c | 126 +++--
drivers/of/device.c | 9 +-
drivers/of/dynamic.c | 62 ++-
drivers/of/fdt.c | 23 +-
drivers/of/kobj.c | 4 +-
drivers/of/of_private.h | 4 +
drivers/of/overlay.c | 292 +++++++++---
drivers/of/pdt.c | 5 -
drivers/of/property.c | 10 +-
drivers/of/resolver.c | 4 +-
drivers/of/unittest-data/Makefile | 2 +
.../of/unittest-data/overlay_bad_add_dup_node.dts | 28 ++
.../of/unittest-data/overlay_bad_add_dup_prop.dts | 24 +
drivers/of/unittest-data/overlay_base.dts | 1 +
drivers/of/unittest.c | 100 +++-
drivers/power/reset/axxia-reset.c | 2 +-
drivers/video/backlight/pm8941-wled.c | 2 +-
include/linux/initrd.h | 3 +
include/linux/of.h | 21 +-
include/linux/of_pdt.h | 2 -
init/do_mounts_initrd.c | 20 +
scripts/Makefile.lib | 26 +-
scripts/dtc/Makefile | 4 +
scripts/dtc/checks.c | 73 ++-
scripts/dtc/dtc-lexer.l | 4 +-
scripts/dtc/dtc-parser.y | 52 ++-
scripts/dtc/dtc.c | 11 +-
scripts/dtc/dtc.h | 11 +-
scripts/dtc/flattree.c | 4 +-
scripts/dtc/fstree.c | 5 +-
scripts/dtc/libfdt/Makefile.libfdt | 4 +
scripts/dtc/libfdt/fdt_addresses.c | 16 +-
scripts/dtc/libfdt/libfdt.h | 24 +-
scripts/dtc/livetree.c | 33 +-
scripts/dtc/srcpos.c | 153 ++++++-
scripts/dtc/srcpos.h | 14 +-
scripts/dtc/treesource.c | 115 +++--
scripts/dtc/util.c | 60 ++-
scripts/dtc/util.h | 2 +
scripts/dtc/version_gen.h | 2 +-
115 files changed, 3472 insertions(+), 1783 deletions(-)
create mode 100644 Documentation/devicetree/bindings/.gitignore
create mode 100644 Documentation/devicetree/bindings/Makefile
delete mode 100644 Documentation/devicetree/bindings/arm/altera.txt
create mode 100644 Documentation/devicetree/bindings/arm/altera.yaml
delete mode 100644
Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.txt
create mode 100644
Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/calxeda.txt
create mode 100644 Documentation/devicetree/bindings/arm/calxeda.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/cpus.txt
create mode 100644 Documentation/devicetree/bindings/arm/cpus.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/davinci.txt
delete mode 100644 Documentation/devicetree/bindings/arm/nspire.txt
delete mode 100644 Documentation/devicetree/bindings/arm/primecell.txt
create mode 100644 Documentation/devicetree/bindings/arm/primecell.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/qcom.txt
create mode 100644 Documentation/devicetree/bindings/arm/qcom.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/sirf.txt
create mode 100644 Documentation/devicetree/bindings/arm/sirf.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/spear.txt
create mode 100644 Documentation/devicetree/bindings/arm/spear.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/sti.txt
create mode 100644 Documentation/devicetree/bindings/arm/sti.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/tegra.txt
create mode 100644 Documentation/devicetree/bindings/arm/tegra.yaml
create mode 100644 Documentation/devicetree/bindings/arm/ti/nspire.yaml
create mode 100644 Documentation/devicetree/bindings/arm/ti/ti,davinci.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/vt8500.txt
create mode 100644 Documentation/devicetree/bindings/arm/vt8500.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/xilinx.txt
create mode 100644 Documentation/devicetree/bindings/arm/xilinx.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/zte.txt
create mode 100644 Documentation/devicetree/bindings/arm/zte.yaml
create mode 100644 Documentation/devicetree/bindings/example-schema.yaml
delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-gpio.txt
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-gpio.yaml
create mode 100644
Documentation/devicetree/bindings/iio/magnetometer/mag3110.txt
create mode 100644 Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt
create mode 100644
Documentation/devicetree/bindings/reserved-memory/xen,shared-memory.txt
create mode 100644 Documentation/devicetree/bindings/rtc/rtc.txt
delete mode 100644 Documentation/devicetree/bindings/timer/arm,arch_timer.txt
create mode 100644 Documentation/devicetree/bindings/timer/arm,arch_timer.yaml
create mode 100644
Documentation/devicetree/bindings/timer/arm,arch_timer_mmio.yaml
delete mode 100644 Documentation/devicetree/bindings/timer/arm,global_timer.txt
create mode 100644
Documentation/devicetree/bindings/timer/arm,global_timer.yaml
delete mode 100644 Documentation/devicetree/bindings/trivial-devices.txt
create mode 100644 Documentation/devicetree/bindings/trivial-devices.yaml
delete mode 100644 Documentation/devicetree/todo.txt
create mode 100644 Documentation/devicetree/writing-schema.md
create mode 100644 drivers/of/unittest-data/overlay_bad_add_dup_node.dts
create mode 100644 drivers/of/unittest-data/overlay_bad_add_dup_prop.dts