
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 galak@kernel.crashing.org
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 <fdt.h> +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