Hi, On Fri, 26 Aug 2022 at 08:00, Sean Anderson <[email protected]> wrote: > > On 8/26/22 6:31 AM, Julien Masson 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 | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c > > index b89c77bf79..446f7c49b8 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)) > > @@ -481,7 +481,7 @@ ulong clk_get_rate(struct clk *clk) > > > > ret = ops->get_rate(clk); > > if (ret) > > - return log_ret(ret);
How about: if (IS_ERR(ret)) return log_ret(ret) > > + return ret; > > > > return 0; > > This can just be return ret no if required. Yes, but it is nice to have the 'success' path clear and at the end. > > > } > > Regards, Simon

