fdt_support: delete force argument of fdt_chosen()

After all, we have realized "force" argument is completely
useless. fdt_chosen() was always called with force = 1.

We should always want to do the same thing
(set appropriate value to the property)
even if the property already exists.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
master
Masahiro Yamada 10 years ago committed by Tom Rini
parent dbe963ae51
commit bc6ed0f9dc
  1. 2
      common/cmd_fdt.c
  2. 38
      common/fdt_support.c
  3. 2
      common/image-fdt.c
  4. 2
      include/fdt_support.h

@ -581,7 +581,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
initrd_end = simple_strtoul(argv[3], NULL, 16); initrd_end = simple_strtoul(argv[3], NULL, 16);
} }
fdt_chosen(working_fdt, 1); fdt_chosen(working_fdt);
fdt_initrd(working_fdt, initrd_start, initrd_end); fdt_initrd(working_fdt, initrd_start, initrd_end);
#if defined(CONFIG_FIT_SIGNATURE) #if defined(CONFIG_FIT_SIGNATURE)

@ -262,12 +262,11 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end)
return 0; return 0;
} }
int fdt_chosen(void *fdt, int force) int fdt_chosen(void *fdt)
{ {
int nodeoffset; int nodeoffset;
int err; int err;
char *str; /* used to set string properties */ char *str; /* used to set string properties */
const char *path;
err = fdt_check_header(fdt); err = fdt_check_header(fdt);
if (err < 0) { if (err < 0) {
@ -280,38 +279,25 @@ int fdt_chosen(void *fdt, int force)
if (nodeoffset < 0) if (nodeoffset < 0)
return nodeoffset; return nodeoffset;
/*
* Create /chosen properites that don't exist in the fdt.
* If the property exists, update it only if the "force" parameter
* is true.
*/
str = getenv("bootargs"); str = getenv("bootargs");
if (str != NULL) { if (str != NULL) {
path = fdt_getprop(fdt, nodeoffset, "bootargs", NULL); err = fdt_setprop(fdt, nodeoffset,
if ((path == NULL) || force) { "bootargs", str, strlen(str)+1);
err = fdt_setprop(fdt, nodeoffset, if (err < 0)
"bootargs", str, strlen(str)+1); printf("WARNING: could not set bootargs %s.\n",
if (err < 0) fdt_strerror(err));
printf("WARNING: could not set bootargs %s.\n",
fdt_strerror(err));
}
} }
#ifdef CONFIG_OF_STDOUT_VIA_ALIAS #ifdef CONFIG_OF_STDOUT_VIA_ALIAS
path = fdt_getprop(fdt, nodeoffset, "linux,stdout-path", NULL); err = fdt_fixup_stdout(fdt, nodeoffset);
if ((path == NULL) || force)
err = fdt_fixup_stdout(fdt, nodeoffset);
#endif #endif
#ifdef OF_STDOUT_PATH #ifdef OF_STDOUT_PATH
path = fdt_getprop(fdt, nodeoffset, "linux,stdout-path", NULL); err = fdt_setprop(fdt, nodeoffset, "linux,stdout-path",
if ((path == NULL) || force) { OF_STDOUT_PATH, strlen(OF_STDOUT_PATH)+1);
err = fdt_setprop(fdt, nodeoffset, if (err < 0)
"linux,stdout-path", OF_STDOUT_PATH, strlen(OF_STDOUT_PATH)+1); printf("WARNING: could not set linux,stdout-path %s.\n",
if (err < 0) fdt_strerror(err));
printf("WARNING: could not set linux,stdout-path %s.\n",
fdt_strerror(err));
}
#endif #endif
return err; return err;

@ -463,7 +463,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
ulong *initrd_end = &images->initrd_end; ulong *initrd_end = &images->initrd_end;
int ret; int ret;
if (fdt_chosen(blob, 1) < 0) { if (fdt_chosen(blob) < 0) {
puts("ERROR: /chosen node create failed"); puts("ERROR: /chosen node create failed");
puts(" - must RESET the board to recover.\n"); puts(" - must RESET the board to recover.\n");
return -1; return -1;

@ -16,7 +16,7 @@ u32 fdt_getprop_u32_default_node(const void *fdt, int off, int cell,
const char *prop, const u32 dflt); const char *prop, const u32 dflt);
u32 fdt_getprop_u32_default(const void *fdt, const char *path, u32 fdt_getprop_u32_default(const void *fdt, const char *path,
const char *prop, const u32 dflt); const char *prop, const u32 dflt);
int fdt_chosen(void *fdt, int force); int fdt_chosen(void *fdt);
int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end); int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end);
void do_fixup_by_path(void *fdt, const char *path, const char *prop, void do_fixup_by_path(void *fdt, const char *path, const char *prop,
const void *val, int len, int create); const void *val, int len, int create);

Loading…
Cancel
Save