Hi Julien, On Mon, 29 Aug 2022 at 06:06, Julien Masson <[email protected]> wrote: > > According to clk_ops struct definition, the callback `get_rate()` > return current clock rate value as ulong. > `clk_get_rate()` should handle the clock rate returned as ulong also. > > Otherwise we may have invalid/truncated clock rate value returned by > `clk_get_rate()`. > > `log_ret` has also been removed since it use an `int` in the macro > definition. > > Signed-off-by: Julien Masson <[email protected]> > --- > drivers/clk/clk-uclass.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-)
Reviewed-by: Simon Glass <[email protected]> I would prefer to create a new log_rete() to handle this, with a long argument and return value. But this is OK, I suppose. > > diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c > index b89c77bf79..c351fa97d1 100644 > --- a/drivers/clk/clk-uclass.c > +++ b/drivers/clk/clk-uclass.c > @@ -469,7 +469,7 @@ void clk_free(struct clk *clk) > ulong clk_get_rate(struct clk *clk) > { > const struct clk_ops *ops; > - int ret; > + ulong ret; > > debug("%s(clk=%p)\n", __func__, clk); > if (!clk_valid(clk)) > @@ -479,11 +479,7 @@ ulong clk_get_rate(struct clk *clk) > if (!ops->get_rate) > return -ENOSYS; > > - ret = ops->get_rate(clk); > - if (ret) > - return log_ret(ret); > - > - return 0; > + return ops->get_rate(clk); > } > > struct clk *clk_get_parent(struct clk *clk) > -- > 2.37.2 > Regards, Simon

