
Hi Julien,
Thank you for the patch.
On mar., nov. 21, 2023 at 15:42, Julien Masson jmasson@baylibre.com wrote:
When we call clk_get_rate(), we expect to get clock rate value as ulong. In that case we should not use log_ret() macro since it use internally an int.
This is quite subtle, it only happens when log_reg is enabled via CONFIG_LOG_ERROR_RETURN.
Otherwise we may return an invalid/truncated clock rate value.
Signed-off-by: Julien Masson jmasson@baylibre.com
I'm wondering if there are any other places where this happens, but this change looks good to me.
Reviewed-by: Mattijs Korpershoek mkorpershoek@baylibre.com
drivers/clk/clk-uclass.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 3b5e3f9c86..41dcd14be5 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -488,11 +488,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.41.0