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>
This commit is contained in:
parent
8edb21925e
commit
dbe963ae51
|
@ -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,26 +241,22 @@ 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);
|
write_cell((u8 *)&tmp, initrd_start, addr_cell_len);
|
||||||
if ((path == NULL) || force) {
|
err = fdt_setprop(fdt, nodeoffset,
|
||||||
write_cell((u8 *)&tmp, initrd_start, addr_cell_len);
|
"linux,initrd-start", &tmp, addr_cell_len);
|
||||||
err = fdt_setprop(fdt, nodeoffset,
|
if (err < 0) {
|
||||||
"linux,initrd-start", &tmp, addr_cell_len);
|
printf("WARNING: could not set linux,initrd-start %s.\n",
|
||||||
if (err < 0) {
|
fdt_strerror(err));
|
||||||
printf("WARNING: "
|
return err;
|
||||||
"could not set linux,initrd-start %s.\n",
|
}
|
||||||
fdt_strerror(err));
|
write_cell((u8 *)&tmp, initrd_end, addr_cell_len);
|
||||||
return err;
|
err = fdt_setprop(fdt, nodeoffset,
|
||||||
}
|
|
||||||
write_cell((u8 *)&tmp, initrd_end, addr_cell_len);
|
|
||||||
err = fdt_setprop(fdt, nodeoffset,
|
|
||||||
"linux,initrd-end", &tmp, addr_cell_len);
|
"linux,initrd-end", &tmp, addr_cell_len);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
printf("WARNING: could not set linux,initrd-end %s.\n",
|
printf("WARNING: could not set linux,initrd-end %s.\n",
|
||||||
fdt_strerror(err));
|
fdt_strerror(err));
|
||||||
|
|
||||||
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…
Reference in New Issue