[PATCH] of: move of_get_node_by_reproducible_name() into common code

Sascha Hauer sha at pengutronix.de
Tue Aug 16 01:53:51 PDT 2022


On Mon, Aug 15, 2022 at 06:07:08PM +0200, Ahmad Fatoum wrote:
> The function already has a good generic name and can be useful for board
> code or for other drivers seeking to fix up the kernel device tree
> according to information within the barebox DT.
> Thus move it to a central location.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
>  drivers/of/base.c                 | 13 +++++++++++++
>  drivers/power/reset/reboot-mode.c | 13 -------------
>  include/of.h                      |  9 +++++++++
>  3 files changed, 22 insertions(+), 13 deletions(-)

Applied, thanks
  Sascha

> 
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index b91ee92e1b88..52e6a9294e11 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -2865,6 +2865,19 @@ struct device_node *of_find_node_by_reproducible_name(struct device_node *from,
>  	return NULL;
>  }
>  
> +struct device_node *of_get_node_by_reproducible_name(struct device_node *dstroot,
> +						     struct device_node *srcnp)
> +{
> +	struct device_node *dstnp;
> +	char *name;
> +
> +	name = of_get_reproducible_name(srcnp);
> +	dstnp = of_find_node_by_reproducible_name(dstroot, name);
> +	free(name);
> +
> +	return dstnp;
> +}
> +
>  /**
>   * of_graph_parse_endpoint() - parse common endpoint node properties
>   * @node: pointer to endpoint device_node
> diff --git a/drivers/power/reset/reboot-mode.c b/drivers/power/reset/reboot-mode.c
> index 1316af4213fb..5761128f8e5a 100644
> --- a/drivers/power/reset/reboot-mode.c
> +++ b/drivers/power/reset/reboot-mode.c
> @@ -48,19 +48,6 @@ static int reboot_mode_add_param(struct device_d *dev,
>  	return PTR_ERR_OR_ZERO(param);
>  }
>  
> -static struct device_node *of_get_node_by_reproducible_name(struct device_node *dstroot,
> -							    struct device_node *srcnp)
> -{
> -	struct device_node *dstnp;
> -	char *name;
> -
> -	name = of_get_reproducible_name(srcnp);
> -	dstnp = of_find_node_by_reproducible_name(dstroot, name);
> -	free(name);
> -
> -	return dstnp;
> -}
> -
>  static int of_reboot_mode_fixup(struct device_node *root, void *ctx)
>  {
>  	struct reboot_mode_driver *reboot = ctx;
> diff --git a/include/of.h b/include/of.h
> index 91c3766992aa..995e9b591399 100644
> --- a/include/of.h
> +++ b/include/of.h
> @@ -195,6 +195,9 @@ extern struct device_node *of_get_compatible_child(const struct device_node *par
>  extern struct device_node *of_get_child_by_name(const struct device_node *node,
>  					const char *name);
>  extern char *of_get_reproducible_name(struct device_node *node);
> +extern struct device_node *of_get_node_by_reproducible_name(struct device_node *dstroot,
> +							    struct device_node *srcnp);
> +
>  extern struct device_node *of_find_node_by_reproducible_name(struct device_node
>  							     *from,
>  							     const char *name);
> @@ -493,6 +496,12 @@ of_find_node_by_reproducible_name(struct device_node *from, const char *name)
>  	return NULL;
>  }
>  
> +
> +static iline struct device_node *of_get_node_by_reproducible_name(struct device_node *dstroot,
> +								  struct device_node *srcnp)
> +{
> +	return NULL;
> +}
>  static inline struct property *of_find_property(const struct device_node *np,
>  						const char *name,
>  						int *lenp)
> -- 
> 2.30.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list