
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 ye.li@nxp.com Reviewed-by: Peng Fan peng.fan@nxp.com --- 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; }