Re: [PATCH v3] of: find also nodes by mixture of alias and path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 06, 2014 at 01:45:43PM +0100, Jan Weitzel wrote:
> Let of_find_node_by_path_or_alias also find a node starting with an alias
> followed by a path like "i2c0/tps@24"
> 
> Signed-off-by: Jan Weitzel <j.weitzel@xxxxxxxxx>

Applied, thanks

Sascha

> ---
> v2: rename ret to node
> v3: use strchr
>  drivers/of/base.c |   23 ++++++++++++++++++++++-
>  1 files changed, 22 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index ea2d879..6e5e7d6 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -1378,11 +1378,32 @@ EXPORT_SYMBOL(of_find_node_by_path);
>  struct device_node *of_find_node_by_path_or_alias(struct device_node *root,
>  		const char *str)
>  {
> +	struct device_node *node;
> +	const char *slash;
> +	char *alias;
> +	size_t len = 0;
> +
>  	if (*str ==  '/')
>  		return of_find_node_by_path_from(root, str);
> -	else
> +
> +	slash = strchr(str, '/');
> +
> +	if (!slash)
>  		return of_find_node_by_alias(root, str);
>  
> +	len = slash - str + 1;
> +	alias = xmalloc(len);
> +	strlcpy(alias, str, len);
> +
> +	node = of_find_node_by_alias(root, alias);
> +
> +	if (!node)
> +		goto out;
> +
> +	node = of_find_node_by_path_from(node, slash);
> +out:
> +	free(alias);
> +	return node;
>  }
>  EXPORT_SYMBOL(of_find_node_by_path_or_alias);
>  
> -- 
> 1.7.0.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux