clk: core: correct clk_set_rate kerneldoc

Remove old and misleading documentation from the previous clk_set_rate
implementaion.

Reported-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
This commit is contained in:
Mike Turquette 2012-03-26 11:51:34 -07:00
parent 66f75a5d02
commit 5654dc94f8
1 changed files with 11 additions and 30 deletions

View File

@ -859,38 +859,19 @@ static void clk_change_rate(struct clk *clk)
* @clk: the clk whose rate is being changed
* @rate: the new rate for clk
*
* In the simplest case clk_set_rate will only change the rate of clk.
* In the simplest case clk_set_rate will only adjust the rate of clk.
*
* If clk has the CLK_SET_RATE_GATE flag set and it is enabled this call
* will fail; only when the clk is disabled will it be able to change
* its rate.
* Setting the CLK_SET_RATE_PARENT flag allows the rate change operation to
* propagate up to clk's parent; whether or not this happens depends on the
* outcome of clk's .round_rate implementation. If *parent_rate is unchanged
* after calling .round_rate then upstream parent propagation is ignored. If
* *parent_rate comes back with a new rate for clk's parent then we propagate
* up to clk's parent and set it's rate. Upward propagation will continue
* until either a clk does not support the CLK_SET_RATE_PARENT flag or
* .round_rate stops requesting changes to clk's parent_rate.
*
* Setting the CLK_SET_RATE_PARENT flag allows clk_set_rate to
* recursively propagate up to clk's parent; whether or not this happens
* depends on the outcome of clk's .round_rate implementation. If
* *parent_rate is 0 after calling .round_rate then upstream parent
* propagation is ignored. If *parent_rate comes back with a new rate
* for clk's parent then we propagate up to clk's parent and set it's
* rate. Upward propagation will continue until either a clk does not
* support the CLK_SET_RATE_PARENT flag or .round_rate stops requesting
* changes to clk's parent_rate. If there is a failure during upstream
* propagation then clk_set_rate will unwind and restore each clk's rate
* that had been successfully changed. Afterwards a rate change abort
* notification will be propagated downstream, starting from the clk
* that failed.
*
* At the end of all of the rate setting, clk_set_rate internally calls
* __clk_recalc_rates and propagates the rate changes downstream,
* starting from the highest clk whose rate was changed. This has the
* added benefit of propagating post-rate change notifiers.
*
* Note that while post-rate change and rate change abort notifications
* are guaranteed to be sent to a clk only once per call to
* clk_set_rate, pre-change notifications will be sent for every clk
* whose rate is changed. Stacking pre-change notifications is noisy
* for the drivers subscribed to them, but this allows drivers to react
* to intermediate clk rate changes up until the point where the final
* rate is achieved at the end of upstream propagation.
* Rate changes are accomplished via tree traversal that also recalculates the
* rates for the clocks and fires off POST_RATE_CHANGE notifiers.
*
* Returns 0 on success, -EERROR otherwise.
*/