[U-Boot] [PATCH v2 1/2] rockchip: clk: rv1108: remove duplicate reset init
Kever Yang
kever.yang at rock-chips.com
Wed Nov 13 09:08:59 UTC 2019
On 2019/11/9 上午7:06, Heiko Stuebner wrote:
> 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 at theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> changes in v2:
> - drop the now unused old softreset_reg struct
> softresets are only used inside the softreset driver and
> have their own separate struct
>
> arch/arm/include/asm/arch-rockchip/clock.h | 6 ------
> drivers/clk/rockchip/clk_rv1108.c | 14 +-------------
> 2 files changed, 1 insertion(+), 19 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h
> index 0eb19ca86f..1d5b3a07d0 100644
> --- a/arch/arm/include/asm/arch-rockchip/clock.h
> +++ b/arch/arm/include/asm/arch-rockchip/clock.h
> @@ -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
> *
> diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
> index 3ebb007fab..b1e8208d54 100644
> --- a/drivers/clk/rockchip/clk_rv1108.c
> +++ b/drivers/clk/rockchip/clk_rv1108.c
> @@ -681,7 +681,6 @@ static int rv1108_clk_bind(struct udevice *dev)
> int ret;
> struct udevice *sys_child, *sf_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;
> }
More information about the U-Boot
mailing list