Hi,

On 20/06/2015 at 19:12:37 +0200, Philippe Reynes wrote :
> -     rate = clk_get_rate(pdata->clk);
> +     pdata->clk_rtc = devm_clk_get(&pdev->dev, "rtc");
> +     if (IS_ERR(pdata->clk_rtc)) {
> +             dev_err(&pdev->dev, "unable to get rtc clock!\n");
> +             ret = PTR_ERR(pdata->clk_rtc);
> +             goto exit_put_clk;
> +     }
> +
> +     rate = clk_get_rate(pdata->clk_rtc);
>  

You have to prepare_enable() before using get_rate(). Else, it is not
guaranteed to work:
"clk_get_rate - obtain the current clock rate (in Hz) for a clock source.
                This is only valid once the clock source has been enabled."
http://lxr.free-electrons.com/source/include/linux/clk.h#L269

It may work right now because the clock is enabled elsewhere. But that
may change at some point in time (we had the issue on at91).


-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to