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
of: __of_detach_node() - remove node from phandle cache

Non-overlay dynamic devicetree node removal may leave the node in
the phandle cache.  Subsequent calls to of_find_node_by_phandle()
will incorrectly find the stale entry.  Remove the node from the
cache.

Add paranoia checks in of_find_node_by_phandle() as a second level
of defense (do not return cached node if detached, do not add node
to cache if detached).

Fixes: 0b3ce78e90fc ("of: cache phandle nodes to reduce cost of of_find_node_by_phandle()")
Reported-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # v4.17+
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Rob Herring <robh@kernel.org>
3 files changed