
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@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@cideas.com
Thanks! gvb