
Hi again,
On Mon, 2016-11-21 at 09:51 -0500, Tom Rini wrote:
On Mon, Nov 21, 2016 at 02:38:30PM +0000, Vlad Zakharov wrote:
Hi Tom,
On Sat, 2016-11-19 at 19:57 +0300, Vlad Zakharov wrote:
Earlier timer driver needed a clock-frequency property in compatible device-tree nodes. Another way is to reference a clock via a phandle.
So now timer_pre_probe tries to get clock by reference through device tree. In case it is impossible to get clock device through the reference, clock-frequency property of the timer node is read to provide backward compatibility.
Signed-off-by: Vlad Zakharov vzakhar@synopsys.com Reviewed-by: Simon Glass sjg@chromium.org
Changes v1..v2: - Use temporary variable when getting clock rate
drivers/timer/timer-uclass.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c index f8ddf93..a891a58 100644 --- a/drivers/timer/timer-uclass.c +++ b/drivers/timer/timer-uclass.c @@ -8,6 +8,7 @@ #include <dm.h> #include <dm/lists.h> #include <dm/device-internal.h> +#include <clk.h> #include <errno.h> #include <timer.h> @@ -42,9 +43,19 @@ unsigned long notrace timer_get_rate(struct udevice *dev) static int timer_pre_probe(struct udevice *dev) { struct timer_dev_priv *uc_priv = dev_get_uclass_priv(dev);
- uc_priv->clock_rate = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
"clock-frequency", 0);
- struct clk *timer_clk;
- int err;
- ulong ret;
- 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 = fdtdec_get_int(gd->fdt_blob,
dev->of_offset, "clock-frequency", 0);
return 0; }
Could you please apply this patch if there's no any objections or comments on it? Thanks.
Is this required for the other series? If not, I'd like to let it "bake" a bit longer, but if it's needed, I'm OK with it coming in via the arc tree now as well. Thanks!
This update is not required for any patch series that have already been sent to mailing list.
Nevertheless this week I am going to send another series that introduces ARC clk driver and uses this driver to get timer clock via the reference in device tree. Therefore current patch will be required for the updates I have just described.
Thanks.