rockchip: clk: rv1108: remove duplicate reset init
authorHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
Fri, 8 Nov 2019 23:06:29 +0000 (00:06 +0100)
committerKever Yang <kever.yang@rock-chips.com>
Sun, 17 Nov 2019 09:22:53 +0000 (17:22 +0800)
rockchip_reset_bind() already does the needed init for the reset
registers, only referenced the wrong cru structure.

So we can get rid of the open-coded reset init and just fix
the correct cru reference.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/include/asm/arch-rockchip/clock.h
drivers/clk/rockchip/clk_rv1108.c

index 0eb19ca..1d5b3a0 100644 (file)
@@ -43,12 +43,6 @@ struct sysreset_reg {
        unsigned int glb_srst_snd_value;
 };
 
-struct softreset_reg {
-        void __iomem *base;
-        unsigned int sf_reset_offset;
-        unsigned int sf_reset_num;
-};
-
 /**
  * clk_get_divisor() - Calculate the required clock divisior
  *
index 3ebb007..acffb59 100644 (file)
@@ -679,9 +679,8 @@ static int rv1108_clk_probe(struct udevice *dev)
 static int rv1108_clk_bind(struct udevice *dev)
 {
        int ret;
-       struct udevice *sys_child, *sf_child;
+       struct udevice *sys_child;
        struct sysreset_reg *priv;
-       struct softreset_reg *sf_priv;
 
        /* The reset driver does not have a device node, so bind it here */
        ret = device_bind_driver(dev, "rockchip_sysreset", "sysreset",
@@ -698,22 +697,11 @@ static int rv1108_clk_bind(struct udevice *dev)
        }
 
 #if CONFIG_IS_ENABLED(CONFIG_RESET_ROCKCHIP)
-       ret = offsetof(struct rk3368_cru, softrst_con[0]);
+       ret = offsetof(struct rv1108_cru, softrst_con[0]);
        ret = rockchip_reset_bind(dev, ret, 13);
        if (ret)
                debug("Warning: software reset driver bind faile\n");
 #endif
-       ret = device_bind_driver_to_node(dev, "rockchip_reset", "reset",
-                                        dev_ofnode(dev), &sf_child);
-       if (ret) {
-               debug("Warning: No rockchip reset driver: ret=%d\n", ret);
-       } else {
-               sf_priv = malloc(sizeof(struct softreset_reg));
-               sf_priv->sf_reset_offset = offsetof(struct rv1108_cru,
-                                                   softrst_con[0]);
-               sf_priv->sf_reset_num = 13;
-               sf_child->priv = sf_priv;
-       }
 
        return 0;
 }