[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201020100510.GS13341@paasikivi.fi.intel.com>
Date: Tue, 20 Oct 2020 13:05:10 +0300
From: Sakari Ailus <sakari.ailus@...ux.intel.com>
To: Daniel Scally <djrscally@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux.walleij@...aro.org, prabhakar.mahadev-lad.rj@...renesas.com,
heikki.krogerus@...ux.intel.com, dmitry.torokhov@...il.com,
laurent.pinchart+renesas@...asonboard.com,
kieran.bingham+renesas@...asonboard.com, jacopo+renesas@...ndi.org,
robh@...nel.org, davem@...emloft.net, linux@...musvillemoes.dk,
andriy.shevchenko@...ux.intel.com, sergey.senozhatsky@...il.com,
rostedt@...dmis.org, pmladek@...e.com, mchehab@...nel.org,
tian.shu.qiu@...el.com, bingbu.cao@...el.com, yong.zhi@...el.com,
rafael@...nel.org, gregkh@...uxfoundation.org, kitakar@...il.com,
dan.carpenter@...cle.org
Subject: Re: [RFC PATCH v3 1/9] software_node: Add helper function to
unregister arrays of software_nodes ordered parent to child
Hi Daniel, Andy,
On Mon, Oct 19, 2020 at 11:58:55PM +0100, Daniel Scally wrote:
> Software nodes that are children of another software node should be
> unregistered before their parent. To allow easy unregistering of an array
> of software_nodes ordered parent to child, add a helper function to loop
> over and unregister nodes in such an array in reverse order.
>
> Suggested-by: Andriy Shevchenko <andriy.shevchenko@...ux.intel.com>
> Signed-off-by: Daniel Scally <djrscally@...il.com>
> ---
> Changes in v3:
> - patch introduced.
>
> drivers/base/swnode.c | 21 +++++++++++++++++++++
> include/linux/property.h | 1 +
> 2 files changed, 22 insertions(+)
>
> diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
> index 010828fc7..f01b1cc61 100644
> --- a/drivers/base/swnode.c
> +++ b/drivers/base/swnode.c
> @@ -727,6 +727,27 @@ void software_node_unregister_nodes(const struct software_node *nodes)
> }
> EXPORT_SYMBOL_GPL(software_node_unregister_nodes);
>
> +/**
> + * software_node_unregister_nodes_reverse - Unregister an array of software
> + * nodes in reverse order.
> + * @nodes: Array of software nodes to be unregistered.
> + *
> + * NOTE: The same warning applies as with software_node_unregister_nodes.
> + * Unless you are _sure_ that the array of nodes is ordered parent to child
> + * it is wiser to remove them individually in the correct order.
Could the default order in software_node_unregister_nodes() be reversed
instead? There are no users so this should be easy to change.
Doing this only one way may require enforcing the registration order in
software_node_register_nodes(), but the end result would be safer.
What do you think?
--
Regards,
Sakari Ailus
Powered by blists - more mailing lists