linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Daniel Scally <djrscally@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-media@vger.kernel.org, devel@acpica.org, rjw@rjwysocki.net,
	lenb@kernel.org, gregkh@linuxfoundation.org, yong.zhi@intel.com,
	sakari.ailus@linux.intel.com, bingbu.cao@intel.com,
	tian.shu.qiu@intel.com, mchehab@kernel.org,
	robert.moore@intel.com, erik.kaneda@intel.com, pmladek@suse.com,
	rostedt@goodmis.org, sergey.senozhatsky@gmail.com,
	linux@rasmusvillemoes.dk,
	laurent.pinchart+renesas@ideasonboard.com,
	jacopo+renesas@jmondi.org,
	kieran.bingham+renesas@ideasonboard.com,
	linus.walleij@linaro.org, heikki.krogerus@linux.intel.com,
	kitakar@gmail.com, jorhand@linux.microsoft.com
Subject: Re: [PATCH v2 04/12] software_node: Enforce parent before child ordering of nodes arrays
Date: Fri, 18 Dec 2020 22:29:16 +0200	[thread overview]
Message-ID: <20201218202916.GA4077@smile.fi.intel.com> (raw)
In-Reply-To: <20201217234337.1983732-5-djrscally@gmail.com>

On Thu, Dec 17, 2020 at 11:43:29PM +0000, Daniel Scally wrote:
> Registering software_nodes with the .parent member set to point to a
> currently unregistered software_node has the potential for problems,
> so enforce parent -> child ordering in arrays passed in to
> software_node_register_nodes().
> 
> 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, reverse the order in which
> software_node_unregister_nodes() unregisters software_nodes.

...

> + * Register multiple software nodes at once. If any node in the array
> + * has it's .parent pointer set, then it's parent **must** have been

it's => its in both cases?


> + * registered before it is; either outside of this function or by
> + * ordering the array such that parent comes before child.
>   */

...

> +		const struct software_node *parent = nodes[i].parent;
> +
> +		if (parent && !software_node_to_swnode(parent)) {

Can we have parent of swnode in an array not being an swnode?
Either comment that parent for swnode can be swnode only (Heikki, was it an
idea?) or check if parent is of swnode type and only that apply this
requirement.

> +			ret = -EINVAL;
> +			goto err_unregister_nodes;
>  		}

...

> + * Unregister multiple software nodes at once. If parent pointers are set up
> + * in any of the software nodes then the array MUST be ordered such that
> + * parents come before their children.

Shouldn't be consistent with above, i.e. **must** ?

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2020-12-18 20:30 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 23:43 [PATCH v2 00/12] Add functionality to ipu3-cio2 driver allowing software_node connections to sensors on platforms designed for Windows Daniel Scally
2020-12-17 23:43 ` [PATCH v2 01/12] software_node: Fix refcounts in software_node_get_next_child() Daniel Scally
2020-12-21  9:08   ` Sakari Ailus
2020-12-17 23:43 ` [PATCH v2 02/12] property: Return true in fwnode_device_is_available for NULL ops Daniel Scally
2020-12-21  9:10   ` Sakari Ailus
2020-12-17 23:43 ` [PATCH v2 03/12] property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary Daniel Scally
2020-12-17 23:43 ` [PATCH v2 04/12] software_node: Enforce parent before child ordering of nodes arrays Daniel Scally
2020-12-18 16:02   ` Laurent Pinchart
2020-12-18 22:19     ` Daniel Scally
2020-12-18 20:29   ` Andy Shevchenko [this message]
2020-12-19 23:33     ` Daniel Scally
2020-12-17 23:43 ` [PATCH v2 05/12] software_node: unregister software_nodes in reverse order Daniel Scally
2020-12-18 20:31   ` Andy Shevchenko
2020-12-21  9:21   ` Sakari Ailus
2020-12-21 11:26     ` Andy Shevchenko
2020-12-23 22:24       ` Daniel Scally
2020-12-17 23:43 ` [PATCH v2 06/12] software_node: Add support for fwnode_graph*() family of functions Daniel Scally
2020-12-18 16:22   ` Laurent Pinchart
2020-12-18 22:13     ` Daniel Scally
2020-12-18 23:46       ` Daniel Scally
2020-12-18 20:37   ` Andy Shevchenko
2020-12-18 22:26     ` Daniel Scally
2020-12-21  9:34   ` Sakari Ailus
2020-12-21 10:01     ` Daniel Scally
2020-12-17 23:43 ` [PATCH v2 07/12] lib/test_printf.c: Use helper function to unwind array of software_nodes Daniel Scally
2020-12-17 23:43 ` [PATCH v2 08/12] ipu3-cio2: Add T: entry to MAINTAINERS Daniel Scally
2020-12-17 23:43 ` [PATCH v2 09/12] ipu3-cio2: Rename ipu3-cio2.c Daniel Scally
2020-12-17 23:43 ` [PATCH v2 10/12] media: v4l2-core: v4l2-async: Check sd->fwnode->secondary in match_fwnode() Daniel Scally
2020-12-17 23:43 ` [PATCH v2 11/12] acpi: Add acpi_dev_get_next_match_dev() and helper macro Daniel Scally
2020-12-18 20:42   ` Andy Shevchenko
2020-12-21  9:47   ` Sakari Ailus
2020-12-17 23:43 ` [PATCH v2 12/12] ipu3-cio2: Add cio2-bridge to ipu3-cio2 driver Daniel Scally
2020-12-18 16:53   ` Laurent Pinchart
2020-12-18 23:57     ` Daniel Scally
2020-12-19  0:39       ` Laurent Pinchart
2020-12-19 23:24         ` Daniel Scally
2020-12-18 21:17   ` Andy Shevchenko
2020-12-19  0:22     ` Daniel Scally
2020-12-19 18:52       ` Andy Shevchenko
2020-12-19 23:48         ` Daniel Scally
2020-12-21 10:21           ` Sakari Ailus
2020-12-21 10:52             ` Daniel Scally
2020-12-21 10:57               ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201218202916.GA4077@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bingbu.cao@intel.com \
    --cc=devel@acpica.org \
    --cc=djrscally@gmail.com \
    --cc=erik.kaneda@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jacopo+renesas@jmondi.org \
    --cc=jorhand@linux.microsoft.com \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=kitakar@gmail.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=lenb@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mchehab@kernel.org \
    --cc=pmladek@suse.com \
    --cc=rjw@rjwysocki.net \
    --cc=robert.moore@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=tian.shu.qiu@intel.com \
    --cc=yong.zhi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).