[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100714200324.GA18138@n2100.arm.linux.org.uk>
Date: Wed, 14 Jul 2010 21:03:24 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Stephen Boyd <sboyd@...eaurora.org>
Cc: linux-arm-kernel@...ts.infradead.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arm-msm@...r.kernel.org,
Saravana Kannan <skannan@...eaurora.org>,
David Brownell <david-b@...bell.net>
Subject: Re: Meaning of clk_round_rate()?
On Wed, Jul 14, 2010 at 11:05:46AM -0700, Stephen Boyd wrote:
> What is the meaning of clk_round_rate() in the clk API
> (include/linux/clk.h)? The function documentation says "adjust a rate to
> the exact rate a clock can provide". That seems pretty vague. I'm lead
> to believe that it rounds the rate to the closest rate supported. Is
> that correct? Is there some sort of error margin where beyond that it's
> no longer possible to be rounded? 0.5%? 1%?
clk_round_rate() returns the clock rate which will be set if you ask
clk_set_rate() to set that rate. It provides a way to query from
the implementation exactly what rate you'll get if you use clk_set_rate()
with that same argument.
So essentially, clk_set_rate() should be:
static int clk_set_rate(struct clk *clk, unsigned long rate)
{
rate = clk_round_rate(clk, rate);
return set_actual_rate(clk, rate);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists