Remove the child device binding codes for clk and iomux nodes, because
the misc uclass has added such operation in post-bind. If we keep the
codes in scu bind, child devices will be created twices. Find the
problem by "dm uclass" command.

uclass 24: clk
0   * clk @ fce22380, seq 0, (req -1)
1     clk @ fce23110

uclass 67: pinctrl
0   * iomuxc @ fce22470, seq 0, (req -1)
1     iomuxc @ fce231c0

After the fix:

uclass 24: clk
0   * clk @ fce22380, seq 0, (req -1)

uclass 67: pinctrl
0   * iomuxc @ fce22470, seq 0, (req -1)

Signed-off-by: Ye Li <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
 drivers/misc/imx8/scu.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/misc/imx8/scu.c b/drivers/misc/imx8/scu.c
index ee635eb..cdf3052 100644
--- a/drivers/misc/imx8/scu.c
+++ b/drivers/misc/imx8/scu.c
@@ -212,18 +212,6 @@ static int imx8_scu_remove(struct udevice *dev)
 
 static int imx8_scu_bind(struct udevice *dev)
 {
-       int ret;
-       struct udevice *child;
-       ofnode node;
-
-       debug("%s(dev=%p)\n", __func__, dev);
-       ofnode_for_each_subnode(node, dev_ofnode(dev)) {
-               ret = lists_bind_fdt(dev, node, &child, true);
-               if (ret)
-                       return ret;
-               debug("bind child dev %s\n", child->name);
-       }
-
        return 0;
 }
 
-- 
2.7.4

Reply via email to