On 02/09/2016 01:36 PM, Noam Camus wrote:
From: Daniel Lezcano [mailto:daniel.lezc...@linaro.org] Sent:
Monday, February 08, 2016 4:22 PM
+ ret = clk_prepare_enable(clk); + if (ret) +
pr_err("Couldn't
enable parent clock\n"); + + nps_timer_rate = clk_get_rate(clk);
If there is an error, you continue the execution of the code. I
guess you expect the system to hang in any case with the error in
the >console, right ?
Since our clock is root then returned value will always be valid. I
am far from being expert here, but no one checks for clk_get_rate()
return value for error. Could you refer to a single place at
clocksource drivers that checks for error in the return value.
Actually I was referring to clk_prepare_enable, clocksource_register_hz.
Agree clk_get_rate is always valid.
+ ret = clocksource_register_hz(clksrc, nps_timer_rate);
You can simplify the driver even more by using
clocksource_mmio_init.
Since my base address depends on cluster number, which CPU is part
of, this interface is not much of a use. On top of that it assumes
that I am little endian by using readl family accessories.
Why can't you use ?
clocksource_mmio_init(nps_msu_reg_low_addr, "EZnps-tick",
nps_timer_rate, 32, nps_clksrc_read);
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc