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 <yamad...@jp.panasonic.com>
---

 arch/microblaze/lib/bootm.c |  2 +-
 common/cmd_fdt.c            |  2 +-
 common/fdt_support.c        | 35 +++++++++++++++--------------------
 common/image-fdt.c          |  2 +-
 include/fdt_support.h       |  2 +-
 5 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index d60b307..6977dd6 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 3a9edd6..71ea367 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);
        }
        /* resize the fdt */
        else if (strncmp(argv[1], "re", 2) == 0) {
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 849bdc8..3e16e8a 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -177,12 +177,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. */
@@ -216,26 +215,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 a54a919..a632c84 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -483,7 +483,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 9871e2f..786e797 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -15,7 +15,7 @@
 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,
-- 
1.8.3.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to