diff options
author | Uwe Kleine-König <u.kleine-koenig@baylibre.com> | 2025-08-18 12:35:46 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2025-08-20 21:34:05 +1000 |
commit | e1284ee5dc20f94097bc6424ede9c3e433dba77d (patch) | |
tree | b8f6610715f3b15a007b7c847b374bb2c7347a40 /libfdt/libfdt.h | |
parent | cba90ce82064ad1e6d25f20d8eaa940bd2fc97ed (diff) | |
download | dtc-e1284ee5dc20f94097bc6424ede9c3e433dba77d.zip dtc-e1284ee5dc20f94097bc6424ede9c3e433dba77d.tar.gz dtc-e1284ee5dc20f94097bc6424ede9c3e433dba77d.tar.bz2 |
livetree: Add only new data to fixup nodes instead of complete regeneration
Removing the complete __fixups__ and __local_fixups__ tree might delete
data that should better be retained. See the added test for a situation
that was broken before.
Note that without removing /__fixups__ and /__local_fixups__ in
generate_fixups_tree() and generate_local_fixups_tree() respectively
calling build_and_name_child_node() isn't safe as the nodes might
already exist and then a duplicate would be added. So build_root_node()
has to be used which copes correctly here.
Fixes: 915daadbb62d ("Start with empty __local_fixups__ and __fixups__ nodes")
Closes: https://github.com/dgibson/dtc/issues/170
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Message-ID: <b061ee57157fafbb9d5b9b0b86af760d13a04eda.1755512759.git.u.kleine-koenig@baylibre.com>
[dwg: Use -1 instead of 1 as an error return]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'libfdt/libfdt.h')
0 files changed, 0 insertions, 0 deletions