fdt_support: delete force argument of fdt_initrd()

After all, we have realized "force" argument is completely
useless. fdt_initrd() 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 8edb21925e
commit dbe963ae51
  1. 2
      arch/microblaze/lib/bootm.c
  2. 2
      common/cmd_fdt.c
  3. 9
      common/fdt_support.c
  4. 2
      common/image-fdt.c
  5. 2
      include/fdt_support.h

@ -58,7 +58,7 @@ int do_bootm_linux(int flag, int argc, char * const argv[],
/* fixup the initrd now that we know where it should be */ /* fixup the initrd now that we know where it should be */
if (images->rd_start && images->rd_end && of_flat_tree) if (images->rd_start && images->rd_end && of_flat_tree)
ret = fdt_initrd(of_flat_tree, images->rd_start, ret = fdt_initrd(of_flat_tree, images->rd_start,
images->rd_end, 1); images->rd_end);
if (ret) if (ret)
return 1; return 1;

@ -582,7 +582,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
} }
fdt_chosen(working_fdt, 1); fdt_chosen(working_fdt, 1);
fdt_initrd(working_fdt, initrd_start, initrd_end, 1); fdt_initrd(working_fdt, initrd_start, initrd_end);
#if defined(CONFIG_FIT_SIGNATURE) #if defined(CONFIG_FIT_SIGNATURE)
} else if (strncmp(argv[1], "che", 3) == 0) { } else if (strncmp(argv[1], "che", 3) == 0) {

@ -203,12 +203,11 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
} }
#endif #endif
int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force) int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end)
{ {
int nodeoffset, addr_cell_len; int nodeoffset, addr_cell_len;
int err, j, total; int err, j, total;
fdt64_t tmp; fdt64_t tmp;
const char *path;
uint64_t addr, size; uint64_t addr, size;
/* find or create "/chosen" node. */ /* find or create "/chosen" node. */
@ -242,14 +241,11 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force)
addr_cell_len = get_cells_len(fdt, "#address-cells"); addr_cell_len = get_cells_len(fdt, "#address-cells");
path = fdt_getprop(fdt, nodeoffset, "linux,initrd-start", NULL);
if ((path == NULL) || force) {
write_cell((u8 *)&tmp, initrd_start, addr_cell_len); write_cell((u8 *)&tmp, initrd_start, addr_cell_len);
err = fdt_setprop(fdt, nodeoffset, err = fdt_setprop(fdt, nodeoffset,
"linux,initrd-start", &tmp, addr_cell_len); "linux,initrd-start", &tmp, addr_cell_len);
if (err < 0) { if (err < 0) {
printf("WARNING: " printf("WARNING: could not set linux,initrd-start %s.\n",
"could not set linux,initrd-start %s.\n",
fdt_strerror(err)); fdt_strerror(err));
return err; return err;
} }
@ -262,7 +258,6 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force)
return err; return err;
} }
}
return 0; return 0;
} }

@ -489,7 +489,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
/* Create a new LMB reservation */ /* Create a new LMB reservation */
lmb_reserve(lmb, (ulong)blob, of_size); lmb_reserve(lmb, (ulong)blob, of_size);
fdt_initrd(blob, *initrd_start, *initrd_end, 1); fdt_initrd(blob, *initrd_start, *initrd_end);
if (!ft_verify_fdt(blob)) if (!ft_verify_fdt(blob))
return -1; return -1;

@ -17,7 +17,7 @@ u32 fdt_getprop_u32_default_node(const void *fdt, int off, int cell,
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 force);
int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force); 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);
void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop, void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,

Loading…
Cancel
Save