On 5/27/25 15:27, Patrice Chotard wrote:
> From: Patrick Delaunay <patrick.delau...@foss.st.com>
> 
> Update the sandbox driver to allow support of the
> CONFIG_CLK_AUTO_ID by using the new API clk_get_id()
> to get the internal SANDBOX identifier.
> 
> With CONFIG_CLK_AUTO_ID, clk->id have the also seq identifier.
> 
> Signed-off-by: Patrick Delaunay <patrick.delau...@foss.st.com>
> Signed-off-by: Patrice Chotard <patrice.chot...@foss.st.com>
> Cc: Lukasz Majewski <lu...@denx.de>
> Cc: Sean Anderson <sean...@gmail.com>
> ---
> 
> (no changes since v1)
> 
>  drivers/clk/clk_sandbox.c     | 30 +++++++++++++---------
>  drivers/clk/clk_sandbox_ccf.c | 48 +++++++++++++++++------------------
>  2 files changed, 42 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/clk/clk_sandbox.c b/drivers/clk/clk_sandbox.c
> index 8dd77f18d90..c8c5a88c52d 100644
> --- a/drivers/clk/clk_sandbox.c
> +++ b/drivers/clk/clk_sandbox.c
> @@ -13,24 +13,26 @@
>  static ulong sandbox_clk_get_rate(struct clk *clk)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
> +     ulong id = clk_get_id(clk);
>  
>       if (!priv->probed)
>               return -ENODEV;
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
> -     return priv->rate[clk->id];
> +     return priv->rate[id];
>  }
>  
>  static ulong sandbox_clk_round_rate(struct clk *clk, ulong rate)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
> +     ulong id = clk_get_id(clk);
>  
>       if (!priv->probed)
>               return -ENODEV;
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
>       if (!rate)
> @@ -43,18 +45,19 @@ static ulong sandbox_clk_set_rate(struct clk *clk, ulong 
> rate)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
>       ulong old_rate;
> +     ulong id = clk_get_id(clk);
>  
>       if (!priv->probed)
>               return -ENODEV;
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
>       if (!rate)
>               return -EINVAL;
>  
> -     old_rate = priv->rate[clk->id];
> -     priv->rate[clk->id] = rate;
> +     old_rate = priv->rate[id];
> +     priv->rate[id] = rate;
>  
>       return old_rate;
>  }
> @@ -62,14 +65,15 @@ static ulong sandbox_clk_set_rate(struct clk *clk, ulong 
> rate)
>  static int sandbox_clk_enable(struct clk *clk)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
> +     ulong id = clk_get_id(clk);
>  
>       if (!priv->probed)
>               return -ENODEV;
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
> -     priv->enabled[clk->id] = true;
> +     priv->enabled[id] = true;
>  
>       return 0;
>  }
> @@ -77,14 +81,15 @@ static int sandbox_clk_enable(struct clk *clk)
>  static int sandbox_clk_disable(struct clk *clk)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
> +     ulong id = clk_get_id(clk);
>  
>       if (!priv->probed)
>               return -ENODEV;
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
> -     priv->enabled[clk->id] = false;
> +     priv->enabled[id] = false;
>  
>       return 0;
>  }
> @@ -92,11 +97,12 @@ static int sandbox_clk_disable(struct clk *clk)
>  static int sandbox_clk_request(struct clk *clk)
>  {
>       struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
> +     ulong id = clk_get_id(clk);
>  
> -     if (clk->id >= SANDBOX_CLK_ID_COUNT)
> +     if (id >= SANDBOX_CLK_ID_COUNT)
>               return -EINVAL;
>  
> -     priv->requested[clk->id] = true;
> +     priv->requested[id] = true;
>       return 0;
>  }
>  
> diff --git a/drivers/clk/clk_sandbox_ccf.c b/drivers/clk/clk_sandbox_ccf.c
> index f96a15c30b3..9b8036d41aa 100644
> --- a/drivers/clk/clk_sandbox_ccf.c
> +++ b/drivers/clk/clk_sandbox_ccf.c
> @@ -235,47 +235,47 @@ static int sandbox_clk_ccf_probe(struct udevice *dev)
>       void *base = NULL;
>       u32 reg;
>  
> -     clk_dm(SANDBOX_CLK_PLL3,
> -            sandbox_clk_pllv3(SANDBOX_PLLV3_USB, "pll3_usb_otg", "osc",
> -                              base + 0x10, 0x3));
> +     dev_clk_dm(dev, SANDBOX_CLK_PLL3,
> +                sandbox_clk_pllv3(SANDBOX_PLLV3_USB, "pll3_usb_otg", "osc",
> +                                  base + 0x10, 0x3));
>  
> -     clk_dm(SANDBOX_CLK_PLL3_60M,
> -            sandbox_clk_fixed_factor("pll3_60m",  "pll3_usb_otg",   1, 8));
> +     dev_clk_dm(dev, SANDBOX_CLK_PLL3_60M,
> +                sandbox_clk_fixed_factor("pll3_60m", "pll3_usb_otg",   1, 
> 8));
>  
> -     clk_dm(SANDBOX_CLK_PLL3_80M,
> -            sandbox_clk_fixed_factor("pll3_80m",  "pll3_usb_otg",   1, 6));
> +     dev_clk_dm(dev, SANDBOX_CLK_PLL3_80M,
> +                sandbox_clk_fixed_factor("pll3_80m", "pll3_usb_otg",   1, 
> 6));
>  
>       /* The HW adds +1 to the divider value (2+1) is the divider */
>       reg = (2 << 19);
> -     clk_dm(SANDBOX_CLK_ECSPI_ROOT,
> -            sandbox_clk_divider("ecspi_root", "pll3_60m", &reg, 19, 6));
> +     dev_clk_dm(dev, SANDBOX_CLK_ECSPI_ROOT,
> +                sandbox_clk_divider("ecspi_root", "pll3_60m", &reg, 19, 6));
>  
>       reg = 0;
> -     clk_dm(SANDBOX_CLK_ECSPI0,
> -            sandbox_clk_gate("ecspi0", "ecspi_root", &reg, 0, 0));
> +     dev_clk_dm(dev, SANDBOX_CLK_ECSPI0,
> +                sandbox_clk_gate("ecspi0", "ecspi_root", &reg, 0, 0));
>  
> -     clk_dm(SANDBOX_CLK_ECSPI1,
> -            sandbox_clk_gate2("ecspi1", "ecspi_root", base + 0x6c, 0));
> +     dev_clk_dm(dev, SANDBOX_CLK_ECSPI1,
> +                sandbox_clk_gate2("ecspi1", "ecspi_root", base + 0x6c, 0));
>  
>       /* Select 'pll3_60m' */
>       reg = 0;
> -     clk_dm(SANDBOX_CLK_USDHC1_SEL,
> -            sandbox_clk_mux("usdhc1_sel", &reg, 16, 1, usdhc_sels,
> -                            ARRAY_SIZE(usdhc_sels)));
> +     dev_clk_dm(dev, SANDBOX_CLK_USDHC1_SEL,
> +                sandbox_clk_mux("usdhc1_sel", &reg, 16, 1, usdhc_sels,
> +                                ARRAY_SIZE(usdhc_sels)));
>  
>       /* Select 'pll3_80m' */
>       reg = BIT(17);
> -     clk_dm(SANDBOX_CLK_USDHC2_SEL,
> -            sandbox_clk_mux("usdhc2_sel", &reg, 17, 1, usdhc_sels,
> -                            ARRAY_SIZE(usdhc_sels)));
> +     dev_clk_dm(dev, SANDBOX_CLK_USDHC2_SEL,
> +                sandbox_clk_mux("usdhc2_sel", &reg, 17, 1, usdhc_sels,
> +                                ARRAY_SIZE(usdhc_sels)));
>  
>       reg = BIT(28) | BIT(24) | BIT(16);
> -     clk_dm(SANDBOX_CLK_I2C,
> -            sandbox_clk_composite("i2c", i2c_sels, ARRAY_SIZE(i2c_sels),
> -                                  &reg, CLK_SET_RATE_UNGATE));
> +     dev_clk_dm(dev, SANDBOX_CLK_I2C,
> +                sandbox_clk_composite("i2c", i2c_sels, ARRAY_SIZE(i2c_sels),
> +                                      &reg, CLK_SET_RATE_UNGATE));
>  
> -     clk_dm(SANDBOX_CLK_I2C_ROOT,
> -            sandbox_clk_gate2("i2c_root", "i2c", base + 0x7c, 0));
> +     dev_clk_dm(dev, SANDBOX_CLK_I2C_ROOT,
> +                sandbox_clk_gate2("i2c_root", "i2c", base + 0x7c, 0));
>  
>       return 0;
>  }
Reviewed-by: Patrice Chotard <patrice.chot...@foss.st.com>

Thanks
Patrice

Reply via email to