dm: core: remove the duplicated function dm_ofnode_pre_reloc
authorPatrick Delaunay <patrick.delaunay@st.com>
Fri, 3 Apr 2020 09:39:18 +0000 (11:39 +0200)
committerSimon Glass <sjg@chromium.org>
Thu, 16 Apr 2020 14:07:58 +0000 (08:07 -0600)
The content dm_ofnode_pre_reloc() is identical with ofnode_pre_reloc()
defined in drivers/core/ofnode.c and used only three times:
- drivers/core/lists.c:lists_bind_fdt()
- drivers/clk/at91/pmc.c::at91_clk_sub_device_bind
- drivers/clk/altera/clk-arria10.c::socfpga_a10_clk_bind

So this function dm_ofnode_pre_reloc can be removed and replaced
by these function calls by ofnode_pre_reloc().

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Acked-by: Simon Glass <sjg@chromium.org>
drivers/clk/altera/clk-arria10.c
drivers/clk/at91/pmc.c
drivers/core/lists.c
drivers/core/util.c
include/dm/util.h

index b7eed94..694a942 100644 (file)
@@ -258,7 +258,7 @@ static int socfpga_a10_clk_bind(struct udevice *dev)
                        continue;
 
                if (pre_reloc_only &&
-                   !dm_ofnode_pre_reloc(offset_to_ofnode(offset)))
+                   !ofnode_pre_reloc(offset_to_ofnode(offset)))
                        continue;
 
                ret = device_bind_driver_to_node(dev, "clk-a10", name,
index 6b55ec5..f580844 100644 (file)
@@ -61,7 +61,7 @@ int at91_clk_sub_device_bind(struct udevice *dev, const char *drv_name)
             offset > 0;
             offset = fdt_next_subnode(fdt, offset)) {
                if (pre_reloc_only &&
-                   !dm_ofnode_pre_reloc(offset_to_ofnode(offset)))
+                   !ofnode_pre_reloc(offset_to_ofnode(offset)))
                        continue;
                /*
                 * If this node has "compatible" property, this is not
index 68204c3..c7db14e 100644 (file)
@@ -175,7 +175,7 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
                        continue;
 
                if (pre_reloc_only) {
-                       if (!dm_ofnode_pre_reloc(node) &&
+                       if (!ofnode_pre_reloc(node) &&
                            !(entry->flags & DM_FLAG_PRE_RELOC)) {
                                log_debug("Skipping device pre-relocation\n");
                                return 0;
index 69f8375..25b0d76 100644 (file)
@@ -33,34 +33,6 @@ int list_count_items(struct list_head *head)
        return count;
 }
 
-#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
-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;
-       if (ofnode_read_bool(node, "u-boot,dm-pre-proper"))
-               return true;
-
-       /*
-        * In regular builds individual spl and tpl handling both
-        * count as handled pre-relocation for later second init.
-        */
-       if (ofnode_read_bool(node, "u-boot,dm-spl") ||
-           ofnode_read_bool(node, "u-boot,dm-tpl"))
-               return true;
-
-       return false;
-#endif
-}
-#endif
-
 #if !CONFIG_IS_ENABLED(OF_PLATDATA)
 int pci_get_devfn(struct udevice *dev)
 {
index 0ccb3fb..23f8deb 100644 (file)
@@ -42,31 +42,4 @@ static inline void dm_dump_devres(void)
 /* Dump out a list of drivers */
 void dm_dump_drivers(void);
 
-/**
- * Check if an of node should be or was bound before relocation.
- *
- * Devicetree nodes can be marked as needed to be bound
- * in the loader stages via special devicetree properties.
- *
- * Before relocation this function can be used to check if nodes
- * are required in either SPL or TPL stages.
- *
- * After relocation and jumping into the real U-Boot binary
- * it is possible to determine if a node was bound in one of
- * SPL/TPL stages.
- *
- * There are 4 settings currently in use
- * - u-boot,dm-pre-proper: U-Boot proper pre-relocation only
- * - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL
- *   Existing platforms only use it to indicate nodes needed in
- *   SPL. Should probably be replaced by u-boot,dm-spl for
- *   existing platforms.
- * - u-boot,dm-spl: SPL and U-Boot pre-relocation
- * - u-boot,dm-tpl: TPL and U-Boot pre-relocation
- * @node: of node
- *
- * Returns true if node is needed in SPL/TL, false otherwise.
- */
-bool dm_ofnode_pre_reloc(ofnode node);
-
 #endif