
Pre-probe merely guesses that the first clock is the right one -- a different one might actually be picked by probe(). In case it does not, post_probe() already has a check that will fail.
Signed-off-by: Lubomir Rintel lkundrak@v3.sk --- drivers/timer/timer-uclass.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c index 62d0e860e80..f734fa8b405 100644 --- a/drivers/timer/timer-uclass.c +++ b/drivers/timer/timer-uclass.c @@ -61,9 +61,11 @@ static int timer_pre_probe(struct udevice *dev) if (!err) { ret = clk_get_rate(&timer_clk); if (IS_ERR_VALUE(ret)) - return ret; - uc_priv->clock_rate = ret; - } else { + err = ret; + else + uc_priv->clock_rate = ret; + } + if (err) { uc_priv->clock_rate = dev_read_u32_default(dev, "clock-frequency", 0); }