From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Thu, 23 Oct 2008 09:08:41 -0400 Subject: [U-Boot] [PATCH v2 04/10] fdt: Add fdt_getprop_u32_default helpers In-Reply-To: <1224766729-31513-1-git-send-email-galak@kernel.crashing.org> References: <1224766729-31513-1-git-send-email-galak@kernel.crashing.org> Message-ID: <49007759.2080707@ge.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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 > > +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 Thanks! gvb