summaryrefslogtreecommitdiff
path: root/common/fdt_support.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2007-11-03 19:46:28 -0500
committerKumar Gala <galak@kernel.crashing.org>2007-11-21 14:01:49 -0600
commite93becf80d732b64aef81b23e8b6ece02c40533d (patch)
treec7c99b4514468b5332861bdcfb92a674d993971e /common/fdt_support.c
parentf738b4a75998f42a7408defadc9baac7a31c92db (diff)
Move do_fixup* for libfdt into common code
Moved the generic fixup handling code out of cpu/mpc5xxx and cpu/mpc8260 into common/fdt_support.c and renamed: do_fixup() -> do_fixup_by_path() do_fixup_u32() -> do_fixup_by_path_u32() Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'common/fdt_support.c')
-rw-r--r--common/fdt_support.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 6a5b27aec5..5ed874d0df 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -374,4 +374,27 @@ int fdt_bd_t(void *fdt)
}
#endif /* ifdef CONFIG_OF_HAS_BD_T */
+void do_fixup_by_path(void *fdt, const char *path, const char *prop,
+ const void *val, int len, int create)
+{
+#if defined(DEBUG)
+ int i;
+ debug("Updating property '%s/%s' = ", node, prop);
+ for (i = 0; i < len; i++)
+ debug(" %.2x", *(u8*)(val+i));
+ debug("\n");
+#endif
+ int rc = fdt_find_and_setprop(fdt, path, prop, val, len, create);
+ if (rc)
+ printf("Unable to update property %s:%s, err=%s\n",
+ path, prop, fdt_strerror(rc));
+}
+
+void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
+ u32 val, int create)
+{
+ val = cpu_to_fdt32(val);
+ do_fixup_by_path(fdt, path, prop, &val, sizeof(val), create);
+}
+
#endif /* CONFIG_OF_LIBFDT */