[PATCH v3 3/5] clk: add support for clocks provided by SCP(System Control Processor)
From: Stephen Boyd <hidden>
Date: 2015-06-06 01:12:31
Also in:
linux-clk, linux-pm, lkml
From: Stephen Boyd <hidden>
Date: 2015-06-06 01:12:31
Also in:
linux-clk, linux-pm, lkml
On 06/05, Sudeep Holla wrote:
On 05/06/15 10:36, Sudeep Holla wrote:quoted
On 04/06/15 21:20, Stephen Boyd wrote:quoted
On 05/27, Sudeep Holla wrote:[...]quoted
quoted
quoted
+ +static unsigned long scpi_clk_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct scpi_clk *clk = to_scpi_clk(hw); + + return scpi_ops->clk_get_val(clk->id); +} + +static long scpi_clk_round_rate(struct clk_hw *hw, unsigned long rate, + unsigned long *parent_rate) +{ + struct scpi_clk *clk = to_scpi_clk(hw); + + if (WARN_ON(clk->rate_min && rate < clk->rate_min)) + rate = clk->rate_min; + if (WARN_ON(clk->rate_max && rate > clk->rate_max)) + rate = clk->rate_max; + + return rate; +}Hm.. this seems really generic. It might be better to support a way to tell the framework to limit the min/max rate that's accepted for a clk. That could be done later though.True, framework have some boundary checks in place. I will check if I can use it with minimum changes to the core. If not, we can take this up later as you suggested.I found that the framework already provides clk_set_rate_range for this purpose. Sorry for missing this earlier(seems like that's added quite recently in v4.0). I think I still need to retain round_rate as the core framework insists.
Sure, or use determine_rate if you want to limit the min/max from the clk provider itself. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project