From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Thu, 23 Oct 2008 08:26:01 -0400 Subject: [U-Boot] [PATCH 04/10] fdt: Add fdt_sizecell & fdt_addrcell helpers In-Reply-To: References: <1224743208-11160-1-git-send-email-galak@kernel.crashing.org> <1224743208-11160-2-git-send-email-galak@kernel.crashing.org> <1224743208-11160-3-git-send-email-galak@kernel.crashing.org> <1224743208-11160-4-git-send-email-galak@kernel.crashing.org> <1224743208-11160-5-git-send-email-galak@kernel.crashing.org> <4900663F.6030302@ge.com> Message-ID: <49006D59.8090302@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: > > On Oct 23, 2008, at 6:55 AM, Jerry Van Baren wrote: > >> Kumar Gala wrote: >>> Add helper functions to return top level #size-cell and #address-cell >>> info >>> Signed-off-by: Kumar Gala >>> --- >>> include/fdt_support.h | 18 ++++++++++++++++++ >>> 1 files changed, 18 insertions(+), 0 deletions(-) >>> diff --git a/include/fdt_support.h b/include/fdt_support.h >>> index ceaadc2..aa9d86b 100644 >>> --- a/include/fdt_support.h >>> +++ b/include/fdt_support.h >>> @@ -28,6 +28,24 @@ >>> #include >>> +static inline int fdt_addrcell(void *blob) { >>> + const u32 *addrcell = fdt_getprop(blob, 0, "#address-cells", NULL); >>> + >>> + if (addrcell) >>> + return *addrcell; >>> + else >>> + return 1; >>> +} >>> + >>> +static inline int fdt_sizecell(void *blob) { >>> + const u32 *sizecell = fdt_getprop(blob, 0, "#size-cells", NULL); >>> + >>> + if (sizecell) >>> + return *sizecell; >>> + else >>> + return 1; >>> +} >>> + >>> 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, >> >> Hi Kumar, >> >> What about collapsing the two above into a common function? >> >> fdt_addrcell(blob); >> becomes >> fdt_get_prop_u32(blob, "/", "#address-cells", 1); >> and >> fdt_sizecell(blob); >> becomes >> fdt_get_prop_u32(blob, "/", "#size-cells", 1); >> >> WARNING, UNTESTED CODE: >> /** >> * fdt_get_prop_u32: Find a node and return it's property or a default >> * >> * @fdt: ptr to device tree >> * @node: path of node >> * @prop: property name >> * @defalt: 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_get_prop_u32(void *fdt, const char *node, const char *prop, >> const u32 default) >> { >> const u32 *addrcell = fdt_getprop(fdt, node, prop, NULL); >> >> if (addrcell) >> return *addrcell; >> else >> return default; >> } > > I'd prefer we call it fdt_getprop_u32_default(). If you are good with > the name I'll change my patchset. > > - k That was my second choice. I figured Dennis Richie would call me up and complain the name was too long. ;-) I'm find with the change. Acked-by: Gerald Van Baren Thanks, gvb