[U-Boot] [PATCH v2 04/10] fdt: Add fdt_getprop_u32_default helpers

Jerry Van Baren gerald.vanbaren at ge.com
Thu Oct 23 15:08:41 CEST 2008


Kumar Gala wrote:
> Add helper functions to return find a node and return it's property
> or a default value.
> 
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
>  common/fdt_support.c  |   27 +++++++++++++++++++++++++++
>  include/fdt_support.h |    2 ++
>  2 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/common/fdt_support.c b/common/fdt_support.c
> index 8ceeb0f..f430777 100644
> --- a/common/fdt_support.c
> +++ b/common/fdt_support.c
> @@ -35,6 +35,33 @@
>   */
>  DECLARE_GLOBAL_DATA_PTR;
>  
> +/**
> + * fdt_getprop_u32_default - Find a node and return it's property or a default
> + *
> + * @fdt: ptr to device tree
> + * @path: path of node
> + * @prop: property name
> + * @dflt: default value if the property isn't found
> + *
> + * Convenience function to find a node and return it's property or a
> + * default value if it doesn't exist.
> + */
> +u32 fdt_getprop_u32_default(void *fdt, const char *path, const char *prop,
> +				const u32 dflt)
> +{
> +	const u32 *val;
> +	int off;
> +
> +	off = fdt_path_offset(fdt, path);
> +	if (off < 0)
> +		return dflt;
> +
> +	val = fdt_getprop(fdt, off, prop, NULL);
> +	if (val)
> +		return *val;
> +	else
> +		return dflt;
> +}
>  
>  /**
>   * fdt_find_and_setprop: Find a node and set it's property
> diff --git a/include/fdt_support.h b/include/fdt_support.h
> index ceaadc2..816c9d0 100644
> --- a/include/fdt_support.h
> +++ b/include/fdt_support.h
> @@ -28,6 +28,8 @@
>  
>  #include <fdt.h>
>  
> +u32 fdt_getprop_u32_default(void *fdt, const char *path, const char *prop,
> +				const u32 dflt);
>  int fdt_chosen(void *fdt, int force);
>  int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force);
>  void do_fixup_by_path(void *fdt, const char *path, const char *prop,

Acked-by: Gerald Van Baren <vanbaren at cideas.com>

Thanks!
gvb



More information about the U-Boot mailing list