dm: remove pre reloc properties in SPL and TPL device tree
authorPatrick Delaunay <patrick.delaunay@st.com>
Mon, 11 Feb 2019 11:49:57 +0000 (12:49 +0100)
committerSimon Glass <sjg@chromium.org>
Fri, 12 Apr 2019 02:10:05 +0000 (20:10 -0600)
We can remove the pre reloc property in SPL and TPL device-tree:
- u-boot,dm-pre-reloc
- u-boot,dm-spl
- u-boot,dm-tpl
As only the needed node are kept by fdtgrep (1st pass).

The associated function (XXX_pre_reloc) are simple for SPL/TPL:
return always true.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
drivers/core/ofnode.c
drivers/core/util.c
scripts/Makefile.lib

index 0e584c1..5a109dd 100644 (file)
@@ -700,18 +700,18 @@ int ofnode_read_simple_size_cells(ofnode node)
 
 bool ofnode_pre_reloc(ofnode node)
 {
+#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_TPL_BUILD)
+       /* for SPL and TPL the remaining nodes after the fdtgrep 1st pass
+        * had property dm-pre-reloc or u-boot,dm-spl/tpl.
+        * They are removed in final dtb (fdtgrep 2nd pass)
+        */
+       return true;
+#else
        if (ofnode_read_bool(node, "u-boot,dm-pre-reloc"))
                return true;
        if (ofnode_read_bool(node, "u-boot,dm-pre-proper"))
                return true;
 
-#ifdef CONFIG_TPL_BUILD
-       if (ofnode_read_bool(node, "u-boot,dm-tpl"))
-               return true;
-#elif defined(CONFIG_SPL_BUILD)
-       if (ofnode_read_bool(node, "u-boot,dm-spl"))
-               return true;
-#else
        /*
         * In regular builds individual spl and tpl handling both
         * count as handled pre-relocation for later second init.
@@ -719,9 +719,9 @@ bool ofnode_pre_reloc(ofnode node)
        if (ofnode_read_bool(node, "u-boot,dm-spl") ||
            ofnode_read_bool(node, "u-boot,dm-tpl"))
                return true;
-#endif
 
        return false;
+#endif
 }
 
 int ofnode_read_resource(ofnode node, uint index, struct resource *res)
index 27a6848..451f772 100644 (file)
@@ -33,16 +33,15 @@ int list_count_items(struct list_head *head)
 
 bool dm_fdt_pre_reloc(const void *blob, int offset)
 {
+#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_TPL_BUILD)
+       /* for SPL and TPL the remaining nodes after the fdtgrep 1st pass
+        * had property dm-pre-reloc or u-boot,dm-spl/tpl.
+        * They are removed in final dtb (fdtgrep 2nd pass)
+        */
+       return true;
+#else
        if (fdt_getprop(blob, offset, "u-boot,dm-pre-reloc", NULL))
                return true;
-
-#ifdef CONFIG_TPL_BUILD
-       if (fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
-               return true;
-#elif defined(CONFIG_SPL_BUILD)
-       if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL))
-               return true;
-#else
        /*
         * In regular builds individual spl and tpl handling both
         * count as handled pre-relocation for later second init.
@@ -57,16 +56,16 @@ bool dm_fdt_pre_reloc(const void *blob, int offset)
 
 bool dm_ofnode_pre_reloc(ofnode node)
 {
+#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_TPL_BUILD)
+       /* for SPL and TPL the remaining nodes after the fdtgrep 1st pass
+        * had property dm-pre-reloc or u-boot,dm-spl/tpl.
+        * They are removed in final dtb (fdtgrep 2nd pass)
+        */
+       return true;
+#else
        if (ofnode_read_bool(node, "u-boot,dm-pre-reloc"))
                return true;
 
-#ifdef CONFIG_TPL_BUILD
-       if (ofnode_read_bool(node, "u-boot,dm-tpl"))
-               return true;
-#elif defined(CONFIG_SPL_BUILD)
-       if (ofnode_read_bool(node, "u-boot,dm-spl"))
-               return true;
-#else
        /*
         * In regular builds individual spl and tpl handling both
         * count as handled pre-relocation for later second init.
@@ -74,7 +73,7 @@ bool dm_ofnode_pre_reloc(ofnode node)
        if (ofnode_read_bool(node, "u-boot,dm-spl") ||
            ofnode_read_bool(node, "u-boot,dm-tpl"))
                return true;
-#endif
 
        return false;
+#endif
 }
index 70de9bb..de67677 100644 (file)
@@ -525,4 +525,5 @@ quiet_cmd_fdtgrep = FDTGREP $@
       cmd_fdtgrep = $(objtree)/tools/fdtgrep $(fdtgrep_props) -RT $< \
                -n /chosen -n /config -O dtb | \
        $(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
+               -P u-boot,dm-pre-reloc -P u-boot,dm-spl -P u-boot,dm-tpl \
                $(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))