Geert's locking fix[1] prompted my closer look at __of_changeset_entry_apply() and related functions. The result is a couple of fixes I found and some refactoring that unifies the "old dynamic API" and the changeset API implementations. [1] https://lore.kernel.org/all/c593d8389352c574b5be69d4ca4810da13326a50.1690533838.git.geert+renesas@xxxxxxxxx/ Signed-off-by: Rob Herring <robh@xxxxxxxxxx> --- Changes in v2: - Rework debug printing to fix issues with pr_debug() not having a return value with dynamic debug - Split action print refactoring into separate patch from fix - Make removing property from deadprops a helper function - Rework __of_add_property()/__of_update_property() exit code - Link to v1: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v1-0-b5203e3fc22f@xxxxxxxxxx --- Rob Herring (6): of: unittest: Fix EXPECT for parse_phandle_with_args_map() test of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock of: dynamic: Refactor changeset action printing to common helpers of: dynamic: Fix race in getting old property when updating property of: dynamic: Move dead property list check into property add/update functions of: Refactor node and property manipulation function locking drivers/of/base.c | 87 ++++++++++++++++++----------- drivers/of/dynamic.c | 149 ++++++++++---------------------------------------- drivers/of/unittest.c | 4 +- 3 files changed, 86 insertions(+), 154 deletions(-) --- base-commit: 66a4210bc82e024e6de0f94298ad9230984a5924 change-id: 20230801-dt-changeset-fixes-b76b88fecc43 Best regards, -- Rob Herring <robh@xxxxxxxxxx>