diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2007-11-03 19:46:28 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-11-21 14:01:49 -0600 |
commit | e93becf80d732b64aef81b23e8b6ece02c40533d (patch) | |
tree | c7c99b4514468b5332861bdcfb92a674d993971e /common/fdt_support.c | |
parent | f738b4a75998f42a7408defadc9baac7a31c92db (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.c | 23 |
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 */ |