[PATCH v2 0/3] of: overlay: load overlay symbols into live device tree

From: frowand . list
Date: Mon Jul 10 2017 - 15:06:00 EST

From: Frank Rowand <frank.rowand@xxxxxxxx>

Symbols in a loaded overlay are not currently available to subsequently
loaded overlays because the properties in the overlay's __symbols__
node are not loaded into the live device tree.

Patch 1 is unittests to test patches 2 and 3.

Patch 2 fixes a problem discovered while developing patch 3. If
a node name in an overlay has a unit-address then the overlay
code does not correctly match the node name against an existing
node in the live tree.

Patch 3 adds the properties in an overlay's __symbol__ node to
the overlay changeset.

This patch set was created on top of v4.12, with Rob's pull request
for 4.13 added (https://lkml.org/lkml/2017/7/6/691). Thus this
series should apply on 4.13-rc1 when that becomes available. I will
re-test on 4.13-rc1.

changes since v1:
- patch 2: Use for_each_child_of_node() instead of open coding,
which allowed removing the new function child_by_full_name().

Frank Rowand (3):
of: overlay: add overlay unittest data for node names and symbols
of: overlay: correctly apply overlay node with unit-address
of: overlay: add overlay symbols to live device tree

drivers/of/overlay.c | 121 ++++++++++++++++++++++--
drivers/of/unittest-data/Makefile | 3 +
drivers/of/unittest-data/overlay.dts | 19 +++-
drivers/of/unittest-data/overlay_bad_symbol.dts | 22 +++++
drivers/of/unittest-data/overlay_base.dts | 7 ++
drivers/of/unittest.c | 6 ++
6 files changed, 167 insertions(+), 11 deletions(-)
create mode 100644 drivers/of/unittest-data/overlay_bad_symbol.dts

Frank Rowand <frank.rowand@xxxxxxxx>