All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>
Cc: kgene.kim@samsung.com, devicetree-discuss@lists.ozlabs.org,
	broonie@opensource.wolfsonmicro.com, afleming@freescale.com,
	ben-linux@fluff.org, bergner@us.ibm.com,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [RESEND PATCH v3 1/5] dt: introduce of_get_child_by_name to get child node by name.
Date: Mon, 17 Sep 2012 07:59:08 -0500	[thread overview]
Message-ID: <50571E9C.6090208@gmail.com> (raw)
In-Reply-To: <1347883101-16679-1-git-send-email-srinivas.kandagatla@st.com>

On 09/17/2012 06:58 AM, Srinivas KANDAGATLA wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>

Please drop the period on the subject.

> 
> This patch introduces of_get_child_by_name function to get a child node
> by its name in a given parent node.
> 
> Without this patch each driver code has to iterate the parent and do
> a string compare, However having of_get_child_by_name libary function would
> avoid code duplication, errors and is more convenient.
> 
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
> ---
>  drivers/of/base.c  |   25 +++++++++++++++++++++++++
>  include/linux/of.h |    2 ++
>  2 files changed, 27 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index d4a1c9a..7391f8a 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -391,6 +391,31 @@ struct device_node *of_get_next_available_child(const struct device_node *node,
>  EXPORT_SYMBOL(of_get_next_available_child);
>  
>  /**
> + *	of_get_child_by_name - Find the child node by name for a given parent
> + *	@node:	parent node
> + *	@name:	child name to look for.
> + *
> + *      This function looks for child node for given matching name
> + *
> + *	Returns a node pointer if found, with refcount incremented, use
> + *	of_node_put() on it when done.
> + *	Returns NULL if node is not found.
> + */
> +

Remove blank line.

> +struct device_node *of_get_child_by_name(const struct device_node *node,
> +				const char *name)
> +{
> +	struct device_node *child;
> +
> +	for_each_child_of_node(node, child)
> +		if (child->name && (of_node_cmp(child->name, name) == 0)
> +			&& of_node_get(child))

of_get_next_child has already called of_node_get, so you don't need to
call it here.

> +			break;
> +	return child;
> +}
> +EXPORT_SYMBOL(of_get_child_by_name);
> +
> +/**
>   *	of_find_node_by_path - Find a node matching a full OF path
>   *	@path:	The full path to match
>   *
> diff --git a/include/linux/of.h b/include/linux/of.h
> index 1b11632..7b8e3cd 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -192,6 +192,8 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>  					     struct device_node *prev);
>  extern struct device_node *of_get_next_available_child(
>  	const struct device_node *node, struct device_node *prev);
> +extern struct device_node *of_get_child_by_name(const struct device_node *node,
> +					const char *name);
>  
>  #define for_each_child_of_node(parent, child) \
>  	for (child = of_get_next_child(parent, NULL); child != NULL; \
> 

      parent reply	other threads:[~2012-09-17 12:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-17 11:58 [RESEND PATCH v3 1/5] dt: introduce of_get_child_by_name to get child node by name Srinivas KANDAGATLA
2012-09-17 12:58 ` Rob Herring
2012-09-17 12:58   ` Rob Herring
2012-09-17 12:59 ` Rob Herring [this message]

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=50571E9C.6090208@gmail.com \
    --to=robherring2@gmail.com \
    --cc=afleming@freescale.com \
    --cc=ben-linux@fluff.org \
    --cc=bergner@us.ibm.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=kgene.kim@samsung.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=srinivas.kandagatla@st.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.