Message ID | 1444990575.2436.5.camel@clsee-VirtualBox |
---|---|
State | Superseded |
Headers | show |
On Friday, October 16, 2015 at 12:16:15 PM, Chin Liang See wrote: > From 3b86e60182b87a96f2e5e2236df7a877c9a8c468 Mon Sep 17 00:00:00 2001 > From: Chin Liang See <clsee@altera.com> > Date: Thu, 15 Oct 2015 14:04:39 +0800 > Subject: [PATCH v4 5/5] lib, fdt: Adding fdtdec_get_u32 function > > Adding fdtdec_get_u32 function which is the > unsigned version for fdtdec_get_int But the function you added is named fdtdec_get_uint() , not fdtdec_get_u32() ;-) > Signed-off-by: Chin Liang See <clsee@altera.com> > Cc: Dinh Nguyen <dinguyen@opensource.altera.com> > Cc: Dinh Nguyen <dinh.linux@gmail.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Stefan Roese <sr@denx.de> > Cc: Vikas Manocha <vikas.manocha@st.com> > Cc: Jagannadh Teki <jteki@openedev.com> > Cc: Pavel Machek <pavel@denx.de> > Cc: Heiko Schocher <hs@denx.de> > --- > Changes for v4 > - Drop idea on enabling fdt_support in SPL build > --- > include/fdtdec.h | 13 +++++++++++++ > lib/fdtdec_common.c | 18 ++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/include/fdtdec.h b/include/fdtdec.h > index 2de6dda..d51e643 100644 > --- a/include/fdtdec.h > +++ b/include/fdtdec.h > @@ -490,6 +490,19 @@ s32 fdtdec_get_int(const void *blob, int node, > const char *prop_name, > s32 default_val); > > /** > + * Unsigned version of fdtdec_get_int. The property must have at least > + * 4 bytes of data. The value of the first cell is returned. > + * > + * @param blob FDT blob > + * @param node node to examine > + * @param prop_name name of property to find > + * @param default_val default value to return if the property is not > found > + * @return unsigned integer value, if found, or default_val if not > + */ > +unsigned int fdtdec_get_uint(const void *blob, int node, const char > *prop_name, > + unsigned int default_val); > + > +/** > * Get a variable-sized number from a property > * > * This reads a number from one or more cells. > diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c > index 757931a..63b704a 100644 > --- a/lib/fdtdec_common.c > +++ b/lib/fdtdec_common.c > @@ -36,3 +36,21 @@ int fdtdec_get_int(const void *blob, int node, const > char *prop_name, > debug("(not found)\n"); > return default_val; > } > + > +unsigned int fdtdec_get_uint(const void *blob, int node, const char > *prop_name, > + unsigned int default_val) > +{ > + const int *cell; > + int len; > + > + debug("%s: %s: ", __func__, prop_name); > + cell = fdt_getprop(blob, node, prop_name, &len); > + if (cell && len >= sizeof(unsigned int)) { > + unsigned int val = fdt32_to_cpu(cell[0]); > + > + debug("%#x (%d)\n", val, val); > + return val; > + } > + debug("(not found)\n"); > + return default_val; > +}
Hi Marek, On Sat, 2015-10-17 at 01:08 +0200, marex@denx.de wrote: > On Friday, October 16, 2015 at 12:16:15 PM, Chin Liang See wrote: > > From 3b86e60182b87a96f2e5e2236df7a877c9a8c468 Mon Sep 17 00:00:00 2001 > > From: Chin Liang See <clsee@altera.com> > > Date: Thu, 15 Oct 2015 14:04:39 +0800 > > Subject: [PATCH v4 5/5] lib, fdt: Adding fdtdec_get_u32 function > > > > Adding fdtdec_get_u32 function which is the > > unsigned version for fdtdec_get_int > > But the function you added is named fdtdec_get_uint() , not fdtdec_get_u32() ;-) Good catch, miss out this. Will fix this. Thanks Chin Liang > > > Signed-off-by: Chin Liang See <clsee@altera.com> > > Cc: Dinh Nguyen <dinguyen@opensource.altera.com> > > Cc: Dinh Nguyen <dinh.linux@gmail.com> > > Cc: Marek Vasut <marex@denx.de> > > Cc: Stefan Roese <sr@denx.de> > > Cc: Vikas Manocha <vikas.manocha@st.com> > > Cc: Jagannadh Teki <jteki@openedev.com> > > Cc: Pavel Machek <pavel@denx.de> > > Cc: Heiko Schocher <hs@denx.de> > > --- > > Changes for v4 > > - Drop idea on enabling fdt_support in SPL build > > --- > > include/fdtdec.h | 13 +++++++++++++ > > lib/fdtdec_common.c | 18 ++++++++++++++++++ > > 2 files changed, 31 insertions(+) > > > > diff --git a/include/fdtdec.h b/include/fdtdec.h > > index 2de6dda..d51e643 100644 > > --- a/include/fdtdec.h > > +++ b/include/fdtdec.h > > @@ -490,6 +490,19 @@ s32 fdtdec_get_int(const void *blob, int node, > > const char *prop_name, > > s32 default_val); > > > > /** > > + * Unsigned version of fdtdec_get_int. The property must have at least > > + * 4 bytes of data. The value of the first cell is returned. > > + * > > + * @param blob FDT blob > > + * @param node node to examine > > + * @param prop_name name of property to find > > + * @param default_val default value to return if the property is not > > found > > + * @return unsigned integer value, if found, or default_val if not > > + */ > > +unsigned int fdtdec_get_uint(const void *blob, int node, const char > > *prop_name, > > + unsigned int default_val); > > + > > +/** > > * Get a variable-sized number from a property > > * > > * This reads a number from one or more cells. > > diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c > > index 757931a..63b704a 100644 > > --- a/lib/fdtdec_common.c > > +++ b/lib/fdtdec_common.c > > @@ -36,3 +36,21 @@ int fdtdec_get_int(const void *blob, int node, const > > char *prop_name, > > debug("(not found)\n"); > > return default_val; > > } > > + > > +unsigned int fdtdec_get_uint(const void *blob, int node, const char > > *prop_name, > > + unsigned int default_val) > > +{ > > + const int *cell; > > + int len; > > + > > + debug("%s: %s: ", __func__, prop_name); > > + cell = fdt_getprop(blob, node, prop_name, &len); > > + if (cell && len >= sizeof(unsigned int)) { > > + unsigned int val = fdt32_to_cpu(cell[0]); > > + > > + debug("%#x (%d)\n", val, val); > > + return val; > > + } > > + debug("(not found)\n"); > > + return default_val; > > +}
On Saturday, October 17, 2015 at 03:07:37 PM, Chin Liang See wrote: > Hi Marek, Hi! > On Sat, 2015-10-17 at 01:08 +0200, marex@denx.de wrote: > > On Friday, October 16, 2015 at 12:16:15 PM, Chin Liang See wrote: > > > From 3b86e60182b87a96f2e5e2236df7a877c9a8c468 Mon Sep 17 00:00:00 2001 > > > From: Chin Liang See <clsee@altera.com> > > > Date: Thu, 15 Oct 2015 14:04:39 +0800 > > > Subject: [PATCH v4 5/5] lib, fdt: Adding fdtdec_get_u32 function > > > > > > Adding fdtdec_get_u32 function which is the > > > unsigned version for fdtdec_get_int > > > > But the function you added is named fdtdec_get_uint() , not > > fdtdec_get_u32() ;-) > > Good catch, miss out this. > Will fix this. Thanks ! :) Best regards, Marek Vasut
diff --git a/include/fdtdec.h b/include/fdtdec.h index 2de6dda..d51e643 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -490,6 +490,19 @@ s32 fdtdec_get_int(const void *blob, int node, const char *prop_name, s32 default_val); /** + * Unsigned version of fdtdec_get_int. The property must have at least + * 4 bytes of data. The value of the first cell is returned. + * + * @param blob FDT blob + * @param node node to examine + * @param prop_name name of property to find + * @param default_val default value to return if the property is not found + * @return unsigned integer value, if found, or default_val if not + */ +unsigned int fdtdec_get_uint(const void *blob, int node, const char *prop_name, + unsigned int default_val); + +/** * Get a variable-sized number from a property * * This reads a number from one or more cells. diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c index 757931a..63b704a 100644 --- a/lib/fdtdec_common.c +++ b/lib/fdtdec_common.c @@ -36,3 +36,21 @@ int fdtdec_get_int(const void *blob, int node, const char *prop_name, debug("(not found)\n"); return default_val; } + +unsigned int fdtdec_get_uint(const void *blob, int node, const char *prop_name, + unsigned int default_val) +{ + const int *cell; + int len; + + debug("%s: %s: ", __func__, prop_name); + cell = fdt_getprop(blob, node, prop_name, &len); + if (cell && len >= sizeof(unsigned int)) { + unsigned int val = fdt32_to_cpu(cell[0]); + + debug("%#x (%d)\n", val, val); + return val; + } + debug("(not found)\n");