[lkml]   [2012]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH v4 2/6] Documentation: common clk API
    On Thu, Jan 5, 2012 at 6:31 AM, Amit Kucheria <> wrote:
    > Tiny, tiny typo...
    > On 11 Dec 13, Mike Turquette wrote:
    >> +clk_set_rate deserves a special mention because it is more complex than
    >> +the other operations.  There are three key concepts to the common
    >> +clk_set_rate implementation:
    >> +
    >> +1) recursively traversing up the clk tree and changing clk rates, one
    >> +parent at a time, if each clk allows it
    >> +2) failing to change rate if the clk is enabled and must only change
    >> +rates while disabled
    >> +3) using clk rate change notifiers to allow devices to handle dynamic
    >> +rate changes for clks which do support changing rates while enabled
    >> +
    >> +For the simple, non-recursive case the call graph looks like:
    >> +
    >> +clk_set_rate(clk, rate);
    >> +     __clk_set_rate(clk, rate);
    >> +             clk->round_rate(clk, rate *parent_rate);
    >                                      ^^^^^^^^
    > need a comma here? The next sentence kept me busy for 5 mins.

    Thanks, will fix in next submission (along with general rework of
    messy documentation).


    >> +             clk->set_rate(clk, rate);
    >> +
    >> +You might be wondering what that third paramater in .round_rate is.  If
    >> +a clk supports the CLK_PARENT_SET_RATE flag then that enables it's
    >> +hardware-specific .round_rate function to provide a new rate that the
    >> +parent should transition to.  For example, imagine a rate-adjustable clk
    >> +A that is the parent of clk B, which has a fixed divider of 2.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2012-01-05 21:07    [W:0.042 / U:34.428 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site