summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/microblaze/lib/bootm.c2
-rw-r--r--common/cmd_fdt.c2
-rw-r--r--common/fdt_support.c35
-rw-r--r--common/image-fdt.c2
-rw-r--r--include/fdt_support.h2
5 files changed, 19 insertions, 24 deletions
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index d60b307f6f..6977dd641a 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -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 */
if (images->rd_start && images->rd_end && of_flat_tree)
ret = fdt_initrd(of_flat_tree, images->rd_start,
- images->rd_end, 1);
+ images->rd_end);
if (ret)
return 1;
diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index a6744ed9c2..cc2b0e2dad 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -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_initrd(working_fdt, initrd_start, initrd_end, 1);
+ fdt_initrd(working_fdt, initrd_start, initrd_end);
#if defined(CONFIG_FIT_SIGNATURE)
} else if (strncmp(argv[1], "che", 3) == 0) {
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 0fede8ea2e..321dd2a655 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -203,12 +203,11 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
}
#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 err, j, total;
fdt64_t tmp;
- const char *path;
uint64_t addr, size;
/* 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");
- path = fdt_getprop(fdt, nodeoffset, "linux,initrd-start", NULL);
- if ((path == NULL) || force) {
- write_cell((u8 *)&tmp, initrd_start, addr_cell_len);
- err = fdt_setprop(fdt, nodeoffset,
- "linux,initrd-start", &tmp, addr_cell_len);
- if (err < 0) {
- printf("WARNING: "
- "could not set linux,initrd-start %s.\n",
- fdt_strerror(err));
- return err;
- }
- write_cell((u8 *)&tmp, initrd_end, addr_cell_len);
- err = fdt_setprop(fdt, nodeoffset,
+ write_cell((u8 *)&tmp, initrd_start, addr_cell_len);
+ err = fdt_setprop(fdt, nodeoffset,
+ "linux,initrd-start", &tmp, addr_cell_len);
+ if (err < 0) {
+ printf("WARNING: could not set linux,initrd-start %s.\n",
+ fdt_strerror(err));
+ return err;
+ }
+ write_cell((u8 *)&tmp, initrd_end, addr_cell_len);
+ err = fdt_setprop(fdt, nodeoffset,
"linux,initrd-end", &tmp, addr_cell_len);
- if (err < 0) {
- printf("WARNING: could not set linux,initrd-end %s.\n",
- fdt_strerror(err));
+ if (err < 0) {
+ printf("WARNING: could not set linux,initrd-end %s.\n",
+ fdt_strerror(err));
- return err;
- }
+ return err;
}
return 0;
diff --git a/common/image-fdt.c b/common/image-fdt.c
index ac4563f4a7..173d36206a 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -489,7 +489,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
/* Create a new LMB reservation */
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))
return -1;
diff --git a/include/fdt_support.h b/include/fdt_support.h
index ae010bb624..add86104e3 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -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,
const char *prop, const u32 dflt);
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,
const void *val, int len, int create);
void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
OpenPOWER on IntegriCloud