aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bee <knaerzche@gmail.com>2023-11-14 22:11:27 +0100
committerTom Rini <trini@konsulko.com>2023-11-29 09:32:15 -0500
commitd6d8078cb3604b60a579eb700ef8151d2b2b25fa (patch)
treed06d3b1c1a0f2113fb01bc1f5333f0b875b4e70f
parent891b178c579c0084c1759cf0319e7151a7e288a5 (diff)
downloadu-boot-d6d8078cb3604b60a579eb700ef8151d2b2b25fa.zip
u-boot-d6d8078cb3604b60a579eb700ef8151d2b2b25fa.tar.gz
u-boot-d6d8078cb3604b60a579eb700ef8151d2b2b25fa.tar.bz2
timer-uclass: Always use "clock-frequency" property as fallback
Currently the "clock-frequency" DT property is only being considered as an fallback if either there is no clock driver, the clock driver implements the request-op correctly or there is no clock defined for the timer at all. This patch makes "clock-frequency" also being picked as a fallback if getting the clock-rate fails, since clk_get(_by_index) will return no error, if a clock driver does not implement the request-op and does also not support getting the rate of the clock in question. timer_post_probe will take care if the property does not exist in the DT or is defined as 0. Signed-off-by: Alex Bee <knaerzche@gmail.com>
-rw-r--r--drivers/timer/timer-uclass.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c
index 0c2018b..60ff655 100644
--- a/drivers/timer/timer-uclass.c
+++ b/drivers/timer/timer-uclass.c
@@ -66,13 +66,13 @@ static int timer_pre_probe(struct udevice *dev)
err = clk_get_by_index(dev, 0, &timer_clk);
if (!err) {
ret = clk_get_rate(&timer_clk);
- if (IS_ERR_VALUE(ret))
- return ret;
- uc_priv->clock_rate = ret;
- } else {
- uc_priv->clock_rate =
- dev_read_u32_default(dev, "clock-frequency", 0);
+ if (!IS_ERR_VALUE(ret)) {
+ uc_priv->clock_rate = ret;
+ return 0;
+ }
}
+
+ uc_priv->clock_rate = dev_read_u32_default(dev, "clock-frequency", 0);
}
return 0;