Sorry for the lack of response, it's been a busy week. I will get to this soon. -Frank On 6/20/22 06:41, Clément Léger wrote: > In order to be able to create new nodes and properties dynamically from > drivers, add of_property_alloc/free() and of_node_alloc(). These > functions can be used to create new nodes and properties flagged with > OF_DYNAMIC and to free them. > > Some powerpc code was already doing such operations and thus, these > functions have been used to replace the manual creation of nodes and > properties. This code has been more than simply replaced to allow using > of_node_put() rather than a manual deletion of the properties. > Unfortunately, as I don't own a powerpc platform, it would need to be > tested. > > --- > > Changes in V3: > - Remove gfpflag attribute from of_node_alloc() and of_property_alloc(). > - Removed allocflags from __of_node_dup(). > - Rework powerpc code to only use of_node_put(). > - Fix properties free using of_node_property in OF unittests. > > Changes in V2: > - Remove of_node_free() > - Rework property allocation to allocate both property and value with > 1 allocation > - Rework node allocation to allocate name at the same time the node is > allocated > - Remove extern from definitions > - Remove of_property_alloc() value_len parameter and add more > explanation for the arguments > - Add a check in of_property_free to check OF_DYNAMIC flag > - Add a commit which constify the property argument of > of_property_check_flags() > > Clément Léger (5): > of: constify of_property_check_flags() prop argument > of: remove __of_node_dup() allocflags parameter > of: dynamic: add of_property_alloc() and of_property_free() > of: dynamic: add of_node_alloc() > powerpc/pseries: use of_property_alloc/free() and of_node_alloc() > > arch/powerpc/platforms/pseries/dlpar.c | 62 +------- > .../platforms/pseries/hotplug-memory.c | 21 +-- > arch/powerpc/platforms/pseries/reconfig.c | 123 ++++++---------- > drivers/of/dynamic.c | 137 ++++++++++++------ > drivers/of/of_private.h | 19 ++- > drivers/of/overlay.c | 2 +- > drivers/of/unittest.c | 24 ++- > include/linux/of.h | 24 ++- > 8 files changed, 191 insertions(+), 221 deletions(-) >