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

From: frowand . list
Date: Tue Jul 18 2017 - 23:53:05 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 v2:
- test on 4.13-rc1
- remove redundant comments from patch headers of patch 0 and patch 1
- guard make of overlay .dtb files with CONFIG_OF_OVERLAY
- guard unittest.c references to overlay .dtb files with
CONFIG_OF_OVERLAY

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 | 19 +++-
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 | 10 +-
6 files changed, 180 insertions(+), 18 deletions(-)
create mode 100644 drivers/of/unittest-data/overlay_bad_symbol.dts

--
Frank Rowand <frank.rowand@xxxxxxxx>