Re: [PATCH v3 0/5] of: add of_property_alloc/free() and of_node_alloc()
From: Frank Rowand
Date: Fri Jun 24 2022 - 00:02:30 EST
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(-)
>